html代码:

<!--添加/删除/修改 -->
<div id="a1">
<button id="a2" onclick="add()">add</button>
</div> <div id="a3">
<button onclick="del()">del</button>
</div> <div id="a4" style="margin-top: 20px">
<span style="width: 20px;height: 20px">hello world !!!</span>
<button onclick="change()">change</button>
</div> <!--classname属性操作-->
<div id="cn" class="a11 b11 c11">
</div>

新增标签(document.createElement(标签))

 // 方式一(butter控件中添加事件)
function add() {
var a = document.createElement("span");
a.innerText='this span label!';
var father = document.getElementById('a1')
father.appendChild(a)
} // 方式二(直接document获取标签)
// // 通过的标签,定义事件(只执行一次函数)
// var s1 = document.getElementById('a2');
// var father = s1.parentNode;
//
// var a = document.createElement("span");
// a.innerText='this span label!';
//
// s1.onclick = function f() {
// father.appendChild(a);
// };

删除标签

//删除标签
function del() {
var father = document.getElementById('a1');
var son = father.getElementsByTagName('span')[0];
father.removeChild(son)
}

修改/替换 标签(replaceChild(新标签,旧标签))

//修改/替换 标签
function change() {
//找到父标签
var father = document.getElementById('a4');
//找到需要替换的旧标签
var son = father.getElementsByTagName('span')[0]; //创建一个标签
var ne = document.createElement('div'); // 方式一,定义创建标签样式
// ne.innerHTML = '<div style="background-color: blue;width: 200px;height: 200px">!!!!! </div>'; // 方式二,定义创建标签样式
// ne.style.backgroundColor = 'red';
// ne.style.width = '200px';
// ne.style.height = '200px';
// ne.innerText = "this is new div !!!! " //方式三,通过setattribute 设置标签样式.
ne.setAttribute('style',"background-color:red;width: 200px;height: 200px"); //这种方式也可以获取到对象的属性值
var ne2 = ne.getAttribute('style');
console.log(ne2)
//输出为:background-color:red;width: 200px;height: 200px //通过父标签 替换新旧标签
father.replaceChild(ne,son)
}

classname 属性操作

//classname属性操作
var classmame = document.getElementById('cn') //返回classname
console.log(classmame.className);
//class列表
console.log(classmame.classList);
console.log(classmame.classList[0]);
console.log(classmame.classList[1]);
console.log(classmame.classList[2]); //增加classname
classmame.classList.add("d11");
console.log(classmame.className);
//移除classname
classmame.classList.remove("d11");
console.log(classmame.className);

JavaScript学习 - 基础(八) - DOM 节点 添加/删除/修改/属性值操作的更多相关文章

  1. JavaScript学习 - 基础(六) - DOM基础操作

    DOM: DOM定义了访问HTML 和XML 文档的标准:1.核心DOM 针对结构化文档的标准模型2.XMK DOM 针对XML文档的标准模型3.HTML DOM 针对HTML文档的标准模型 DOM节 ...

  2. JavaScript学习 - 基础(七) - DOM event(事件)

    DOM event(事件) 定义事件: // 定义事件: //方式一,直接在标签上定义事件 // 方式二: var a11 = document.getElementsByName('a11')[0] ...

  3. JavaScript Dom基础-9-Dom查找方法; 设置DOM元素的样式; innerHTML属性的应用; className属性的应用; DOM元素上添加删除获取属性;

    JavaScript Dom基础 学习目标 1.掌握基本的Dom查找方法 domcument.getElementById() Domcument.getElementBy TagName() 2.掌 ...

  4. JavaScript学习基础部分

    JavaScript学习基础 一.简介 1.JavaScript 是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet Explorer. Mozilla.Firefo ...

  5. Dom4j 操作, 节点查找 添加 删除 修改 。。。xPath

    转: Dom4j 操作, 节点查找 添加 删除 修改 ...xPath 2013年11月28日 10:48:59 今晚打酱油8 阅读数:8506更多 个人分类: JavaWeb   版权声明:本文为博 ...

  6. SUSE Ceph 增加节点、减少节点、 删除OSD磁盘等操作 - Storage6

    一.测试环境描述 之前我们已快速部署好一套Ceph集群(3节点),现要测试在现有集群中在线方式增加节点 如下表中可以看到增加节点node004具体配置 主机名 Public网络 管理网络 集群网络 说 ...

  7. asp.net 实现对xml文件的 读取,添加,删除,修改

    用于修改站内xml文件 已知有一个XML文件(bookstore.xml)如下:<?xml version="1.0" encoding="gb2312" ...

  8. JTree 添加 , 删除, 修改

    package com.swing.demo; import java.awt.BorderLayout; import java.awt.Container; import java.awt.eve ...

  9. SQL语句添加删除修改字段及一些表与字段的基本操作

    用SQL语句添加删除修改字段 1.增加字段     alter table docdsp    add dspcode char(200)2.删除字段     ALTER TABLE table_NA ...

随机推荐

  1. std::string 字符串替换

    std::string 没有原生的字符串替换函数,需要自己来完成 string& replace_str(string& str, const string& to_repla ...

  2. Java中子类和父类相关方法的执行顺序

    无意中看到下面一个题目,大家一起来看看最后的输出结果是什么.反正我看完之后,用IDE测试后感觉知识点得到巩固了. /** * 函数执行顺序测试 * Created by 萌小Q on 2017/5/1 ...

  3. springmvc源码解析MvcNamespaceHandler之<mvc:view-resolvers>

    说在前面 本次主要介绍springmvc配置解析. springmvc配置解析 本次介绍MvcNamespaceHandler. 进入到这个方法org.springframework.web.serv ...

  4. Python基础之控制流

    介绍一些Python的基本的东西,你会发现,Python真的很简单.我也尽可能说得简单一些,因为我理解的也很简单. 在到目前为止我们所见到的程序中,总是有一系列的语句,Python忠实地按照它们的顺序 ...

  5. 自学Linux Shell12.6-嵌套循环for命令

    点击返回 自学Linux命令行与Shell脚本之路 12.6-嵌套循环for命令 嵌套循环就是在一个循环中还有一个循环. 内部循环在外部循环体中,在外部循环的每次执行过程中都会触发内部循环,直到内部循 ...

  6. js的==和===练习

    今天检查了一下JS的== 和===的区别 如下: 表达式                              值 1==true  true 1===true  false 0==false t ...

  7. Sublime Text3—Code Snippets(自定义代码片段)

    摘要 程序员总是会不断的重复写一些简单的代码片段,为了提高编码效率,我们可以把经常用到的代码保存起来再调用. 平时用sublime安装各种插件,使用Tab键快速补全,便是snippets(可译为代码片 ...

  8. MATLAB:图像的移动(move函数)

    图像移动涉及到move函数,实现过程如下: close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量 clear all; clc; I=imread('lenna.bmp ...

  9. 搭建Spring4+Spring MVC web工程的最佳实践

    Spring是个非常非常非常优秀的java框架,主要是用它的IOC容器帮我们依赖注入和管理一些程序中的Bean组件,实现低耦合关联,最终提高系统可扩展性和可维护性,用它来辅助我们构建web工程将会感觉 ...

  10. Spark集群之yarn提交作业优化案例

    Spark集群之yarn提交作业优化案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.启动Hadoop集群 1>.自定义批量管理脚本 [yinzhengjie@s101 ...