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. HDU5387-模拟水题

    模拟钟表的时分秒针的走动,给出时间求出夹角.注意每组输出要有一个空格 以后要想好再写代码,这样一个水题做了50分钟,太弱了... #include<cstdio> #include< ...

  2. Jenkins-Multijob plugin多任务串并行

    由于项目采用分布式服务架构,后端拆分为对外提供接口的接口层和对内提供服务的服务层,而服务层项目A又引用项目B和C服务,这时发布时就要求先发布A,再发布B和C,最后再发布接口项目. 经过一番查找,找到了 ...

  3. Java 8 forEach简单例子(转载)

    forEach and Map 1.1 通常这样遍历一个Map Map<String, Integer> items = new HashMap<>(); items.put( ...

  4. IDEA在debug时修改变量值

    IDEA在debug调试时修改变量值 例如以下代码: int y1 = 0; anchor.setDy1(y1); 在代码中,这个y1永远是0,但是y1本身是个变量 debug的时候获取到这个属性,并 ...

  5. SSM框架中的前后端分离

    认识前后端分离 在传统的web应用开发中,大多数的程序员会将浏览器作为前后端的分界线.将浏览器中为用户进行页面展示的部分称之为前端,而将运行在服务器,为前端提供业务逻辑和数据准备的所有代码统称为后端. ...

  6. hdu 2870 Largest Submatrix(平面直方图的最大面积 变形)

    Problem Description Now here is a matrix with letter 'a','b','c','w','x','y','z' and you can change ...

  7. 获取泛型的class 反射

    最近在使用Google的Gson包进行Json和Java对象之间的转化,对于包含泛型的类的序列化和反序列化Gson也提供了很好的支持,感觉有点意思,就花时间研究了一下. 由于Java泛型的实现机制,使 ...

  8. 转载:OSG::Quat(四元数)用法

    转自:http://blog.163.com/dj_zone/blog/static/4908931320098294047820/ osg::Quat To set the attitude of ...

  9. table默认的box-sizing在不同浏览器不同

    转载自:https://blog.csdn.net/csm0912/article/details/88290672

  10. CENTOS 6.6初始化SHELL脚本

    时间:2016-02-24 00:30来源:blog.51cto.com 作者:“xxlixin” 博客 举报 点击:1717次 这个脚本是在刚安装完CENTOS6.6后可能需要进行的操作.在学习CE ...