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. python 模块之-re

    就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹 ...

  2. BZOJ4942 NOI2017整数(线段树)

    首先把每32位压成一个unsigned int(当然只要压起来能过就行).如果不考虑进/退位的话,每次只要将加/减上去的数拆成两部分直接单点修改就好了.那么考虑如何维护进/退位.可以发现进位的过程其实 ...

  3. PHP生成二维码并上传到七牛云

    参考资料 qr-code生成二维码    七牛云上传图片 实现步骤 //拿到插入后的id $res = DB::table('book_book')->insertGetId($data); i ...

  4. NOIP2014题解

    NOIP2014题解 Day1 生活大爆炸版石头剪刀布 rps 简单模拟题,注意细节 #include<iostream> #include<cstdio> using nam ...

  5. tesseract-ocr 识别中文扫描图片

    原文链接:http://www.cnblogs.com/alex-blog/articles/2714984.html   项目主页地址:http://code.google.com/p/tesser ...

  6. Mysql插入、替换和无视

    在现实的生产环境下,通常我们都会遇到这样的应用场景,需要我们更新数据.替换数据,若存在则不操作. insert into表示插入数据,数据库会检查主键,如果出现重复会报错: replace into表 ...

  7. Android原生(Native)C开发之四:SDL移植笔记

    http://www.apkbus.com/forum.php?mod=viewthread&tid=1989 SDL(Simple DirectMedia Layer)是一套开放源码的跨平台 ...

  8. (转)同一服务器部署多个tomcat时的端口号修改详情

    背景:在同一个服务器上部署工程,总会遇到tomcat端口占用的情况,所有有必要分清楚各个端口的作用,和需要更改的端口. 同一服务器部署多个tomcat时,存在端口号冲突的问题,所以需要修改tomcat ...

  9. word产品密钥激活

    1.找到对应版本 2.在网上找对应的破解软件和激活密钥 注意有些软件是不能在你的电脑上运行达到所要结果的,多试几个 有点软件在打开时需要把杀毒软件关了.下载后先杀毒确定没有病毒后,把把杀毒软件关了,并 ...

  10. Codeforce Div-3 E.Cyclic Components

    You are given an undirected graph consisting of nn vertices and mm edges. Your task is to find the n ...