1、获取节点

1.1、用 getElement 方法获取

获取元素节点时,必须等到DOM树加载完成后才能获取。两种处理方式:(1)将JS写在文档最后;(2)将代码写入window.onload函数中;

//通过ID来查看元素属性
var li = document.getElementById("first");
//通过类名来查看元素属性,返回元素数组
var lis1 = document.getElementsByClassName("cls");
//通过名字来查看元素属性,返回数组
var lis2 = document.getElementsByName("name");
//通过标签名来查看元素属性,返回数组
var lis3 = document.getElementsByTagName("li");

这一系列方法,也可以先选中一个DOM节点,在从选中的DOM节点的子节点里,选择需要的节点:

document.getElementById("div1").getElementsByTagName("li")[0];

1.2、用 querySelector 方法获取

querySelector() 方法仅仅返回匹配指定选择器的第一个元素。

var dq1 = document.querySelector("#id");  

querySelectorAll() 方法返回文档中匹配指定 CSS 选择器的所有元素,返回 NodeList 对象。

var dqs1 = document.querySelectorAll("#div1 li");

2、查看设置属性(getAttribute、setAttribute)

attributes: 获取当前节点的所有属性节点。 返回数组格式。

document.getElementsByTagName("a")[0].getAttribute("target");

//element.setAttribute("属性名","属性值");
document.getElementsByTagName("INPUT")0].setAttribute("type","button");

3、设置样式

使用setAttribute设置class和style。

document.getElementById("first").setAttribute("class","class1");
document.getElementById("first").setAttribute("style","color:red;");

使用 className设置元素类名

document.getElementById("first").className = "class1";

使用 style 样式 直接修改单个样式。注意样式名必须使用驼峰命名法。

document.getElementById("first").style.fontSize = "18px";

使用 style 或 style.cssText 设置样式:

// IE不兼容
document.getElementById("first").style = "color:red;";
//cssText 属性用于设置或者返回元素声明的内联样式。
document.getElementById("first").style.cssText = "color:red;";

4、设置文本节点

innerHTML:取到或设置一个节点中的HTML代码。

innerText:取到或设置一个节点中的文本,会判断HTML标签样式,如果该标签隐藏,则该标签文本不会输出

textContent:但凡属于某一节点内的文本内容,除了HTML代码,其他都输出
<div class="container">
aaaa
<h1 class="h1 h2">container里的标题1</h1>
<h2 style="display: none">隐藏内容</h2>
bbbb
</div>
let cont = document.getElementsByClassName('container')[0];
console.log(cont.innerHTML);
//输出:
// aaaa
// <h1 class="h1 h2">container里的标题1</h1>
// <h2 style="display: none">隐藏内容</h2>
// bbbb console.log(cont.innerText);
//输出:
//aaaa
//container里的标题1
//bbbb console.log(cont.textContent);
//输出:
//aaaa
// container里的标题1
// 隐藏内容
// bbbb

5、父子同胞节点

5.1、关于子节点的操作

childNodes: 获取当前节点的所有子节点(包括元素节点和文本节点)。

children: 获取当前节点的所有元素子节点(不包含文本节点)。

firstChild: 获取第一个子节点,包括回车等文本节点;

firstElementChild: 获取第一个元素节点。 不含文本节点;

lastChild: 获取最后一个子节点,包括回车等文本节点;

lastElementChild: 获取最后一个子节点,不含文本节点;

5.2、关于父节点的操作

parentNode: 获取当前节点的父节点。

5.3、关于同胞节点的操作

previousSibling: 获取当前节点的前一个兄弟节点,包括文本节点;

previousElementSibling: 获取当前节点的前一个元素兄弟节点;

nextSibling:获取当前节点的后一个兄弟节点,包括文本节点;

nextElementSibling:获取当前节点的后一个元素兄弟节点;

6、创建新增、删除替换节点

6.1、创建元素节点

document.createElement("div");   //创建元素节点

6.2、创建文本节点

document.createTextNode(text)
var btn=document.createTextNode("Hello World");

6.3、添加节点

往父节点添加子节点

document.getElementById("myList").appendChild(newItem);            //在父节点的末尾添加子节点
document.getElementById("myList").insertBefore(newItem,existingItem);  //在父节点中的某一已存子节点前面添加节点  existingItem 是指父节点中已经存在的子节点,插入的新节点就插在这个子节点的位置

6.4、删除节点

父节点.removeChild(子节点): 从父节点中,删除指定子节点。

父节点.replaceChild(新节点,老节点): 从父节点中,用新节点替换老节点。

JavaScript中操作节点的更多相关文章

  1. JavaScript中操作有些DOM时关于文本节点和元素节点的问题。

    初学JavaScript时候,经常遇到需要操作的内容因为文本节点而使操作更麻烦或者不能达到效果. 例: <ul id="ull">    <li>111&l ...

  2. JavaScript中操作对象的属性

    1.操作对象的属性 注意: 标签属性与DOM对象属性的相应关系: 绝大部分2者是同样的.如:imgobj.src属性相应<img src="" >中src属性,但也有例 ...

  3. JavaScript中操作数组的方法

    JavaScript Array 对象 对数组操作的方法分为两种 一种是会改变原始数组的变异方法,还有一种是不会改变原始数组的非变异方法. 总结 巧记 Push() 尾部添加 pop() 尾部删除 U ...

  4. javascript DOM操作 节点的遍历

    通过javascript的遍历可以由一个节点来查找它的子节点(childNodes).兄弟节点(nextSibling/previousSibling)和父节点(parentNode). 代码说明: ...

  5. JavaScript中DOM节点层次Text类型

    文本节点 标签之间只要有一点内容都会有文本节点,包括空格 创建文本节点document.createTextNode() 可以使用 document.createTextNode 创建新文本节点 == ...

  6. javascript中操作元素属性

    1. setAttribute():设置属性的值: getAttribute():得到属性的值: removeAttribute():移除属性: 2.offsetWidth:offsetWidth = ...

  7. JavaScript中的DOM及相关操作

    一.什么是DOM JavaScript由ECMAScript.DOM和BOM三部分组成,其中DOM代表描述网页内容的方法和接口,即文档对象模型(Document Object Model).在网页上, ...

  8. JavaScript中的各种宽高以及位置总结

    JavaScript中的各种宽高以及位置总结 在javascript中操作dom节点让其运动的时候,常常会涉及到各种宽高以及位置坐标等概念,如果不能很好地理解这些属性所代表的意义,就不能理解js的运动 ...

  9. JavaScript动态操作style

    1.易错:修改元素的样式不是设置class属性,而是className属性.class是JS的一个保留关键字. 2.易错:单独修改样式的属性使用"style.属性名"3.注意在cs ...

随机推荐

  1. JavaScript 获取随机整数

    Math.random()方法会返回介于 0(包含) ~ 1(不包含) 之间的一个随机数 假如想要拿到0-10之间的数,只需要将该方法的值*10 即Math.random()*10: 假如想要拿到0- ...

  2. 制作自己的win7系统

    每次安装完纯净版的系统,然后是漫长的打补丁,装驱动,装软件.不妨制作一个自己的系统光盘(也就是GHOST系统),再要重装系统时,直接用这个系统光盘,一键安装,方便省时. 制作GHOST系统,就是将本地 ...

  3. C语言的未初始化的数组的值为什么是随机的

    突然想起来前几天同学问我为什么没有初始化的数组的值是随机的,发现这个困惑自己也是存在的,所以自己总结的心得. 1. 首先,并不是所有未初始化的数组的值都是随机的.对于没有初始化的数组,分两种情况: ( ...

  4. js面向对象程序设计之构造函数

    再上一篇的开头说了创建对象的两种方式,一种是Object构造函数的方式,一种是对象字面量的方法.但这些方式创建多个对象的时候都会产生大量的重复代码.经过技术的进步也演化出来许多的创建对象的模式.本章会 ...

  5. socket选项总结(setsockopt)

    功能描述:        获取或者设置与某个套接字关联的选 项.选项可能存在于多层协议中,它们总会出现在最上面的套接字层.当操作套接字选项时,选项位于的层和选项的名称必须给出.为了操作套接字层的选项, ...

  6. 阅读笔记05-架构师必备最全SQL优化方案(1)

    一.优化的哲学 1.优化可能带来的问题? 优化不总是对一个单纯的环境进行,还很可能是一个复杂的已投产的系统: 优化手段本来就有很大的风险,只不过你没能力意识到和预见到: 任何的技术可以解决一个问题,但 ...

  7. FireFox浏览器导出文件名乱码

    解决方案1 String codedFileName = "导出文件名.xls"; String agent = request.getHeader("USER-AGEN ...

  8. C# 下载PDF文件(http与ftp)

    1.下载http模式的pdf文件(以ASP.NET为例,将PDF存在项目的目录下,可以通过http直接打开项目下的pdf文件) #region 调用本地文件使用返回pdfbyte数组 /// < ...

  9. C#面试 笔试题 二

    1.using关键字有什么用?什么是IDisposable? using可以声明namespace的引入,还可以实现非托管资源的释放,实现了IDisposiable的类在using中创建,using结 ...

  10. differential evolution代码实例(DE算法)

    DE算法是遗传算法中一种比较流行的算法,这种算法比较简单,速度也比较快,下面给出一份示例代码 clear all; close all; clc 2 %Function to be minimized ...