JavaScript中的获取DOM节点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript中的获取DOM节点相关的知识,希望对你有一定的参考价值。

主要有:document.getElementById,getElementsByClassName,getElementsByTagName,getElementsByName
 
函数名写法:getElementsByClassName、getElementsByTagName 是elements!!!带s!!!getElementById 才没有s~~
返回值
  • getElementById返回的是一个element元素,若取不到返回null
  • getElementsByClassName返回的是HTMLCollection对象,类似于NodeList、Array对象,若取不到返回[],而不是null;
注意
  1. 不是数组:可类似数组[0]这样取值,但并不算是数组,也不能使用数组的方法,jq的$(".pink")也不是数组,但可以用ES6 Array.from()来变成数组;
  2. 不可批量性操作:就算其中只有一个元素,也是一个长度为1的数组,如果要获取元素必须要加 [0]。js不能一次性操作整个数组,但jq可以。
var nodes = document.getElementsByTagName("input");
// 检测是不是数组
console.log(Array.isArray(nodes));     // false
console.log(Array.isArray([1,2,3]));     // true
console.log(nodes instanceof Array);     // false
console.log([1,2,3] instanceof Array);     // true
// 使用数组方法
console.log(nodes);     // (8) [input...]
nodes.pop();     // nodes.pop is not a function
console.log(nodes);
 
DOM是一项技术,XML中也有,html文档中的Element元素都是由HTMLElement对象表示的
var div = document.getElementsByTagName("div");
var node = document.getElementById("div1");
 
            console.log(node.constructor);     // function HTMLDivElement() { [native code] }
            console.log(div.constructor);     // function HTMLCollection() { [native code] }
 
            console.log(node instanceof Node);     // true
            console.log(node instanceof Element);     // true
            console.log(node instanceof HTMLElement);     // true
            console.log(node instanceof HTMLDivElement);     // true 
            console.log(typeof node);     //object
 
            console.log(div instanceof HTMLCollection);     // true
            console.log(div instanceof NodeList);     // false
            console.log(div instanceof Node);     // false
            console.log(div instanceof Array);     // false
            console.log(typeof div);     // object

技术分享

 

以上是关于JavaScript中的获取DOM节点的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript单行代码,也就是代码片段

javascript dom节点的

JavaScript DOM 节点操作

保留对附加节点 javascript 的引用

JavaScript---网络编程-Dom模型(节点间的层次关系,节点的增删改)

JavaScript DOM节点概述及相关操作(获取节点 创建节点 插入节点 深拷贝 浅拷贝)