JavaScript选择器
- 作者: 五速梦信息网
- 时间: 2026年04月04日 13:37
Js选择器
getElementById()getElementsByClassName()getElementsByName()getElementsByTagName()querySelector()querySelectorAll()
getElementById
ididHTMLDivElement
<div id=“t1”>T1</div>
<script type=“text/javascript”>
var t1 = document.getElementById("t1");<br/>
console.log(t1); // <div id="t1">D1</div><br/>
console.log(Object.prototype.toString.call(t1)); // [object HTMLDivElement]<br/>
</script>
getElementsByClassName
classclassHTMLCollection
<div class=“t2”>D2</div>
<div class=“t2”>D3</div>
<script type=“text/javascript”>
var t2List = document.getElementsByClassName("t2");<br/>
console.log(t2List); // HTMLCollection(2) [div.t2, div.t2]<br/>
// 使用for循环遍历<br/>
for(let i=0,n=t2List.length;i<n;++i) console.log(t2List[i]);<br/>
// HTMLCollection的prototype中没有forEach方法,遍历需要使用Array的prototype中forEach通过call绑定对象实例并传参<br/>
Array.prototype.forEach.call(t2List,v => console.log(v) );<br/>
// HTMLCollection的prototype中没有map方法,也需要使用Array的prototype中forEach通过call绑定对象实例并传参<br/>
Array.prototype.map.call(t2List,v => console.log(v) );<br/>
</script>
getElementsByName
namenameNodeList
<div name=“t3”>D4</div>
<div name=“t3”>D5</div>
<script type=“text/javascript”>
var t3List = document.getElementsByName("t3");<br/>
console.log(t3List); // NodeList(2) [div, div]<br/>
// 可直接使用forEach进行遍历<br/>
t3List.forEach( v => console.log(v) );<br/>
// NodeList的prototype中没有map方法,使用map的场景也需要借助Array的prototype中map通过call绑定对象实例并传参<br/>
Array.prototype.map.call(t3List,v => console.log(v) );<br/>
</script>
getElementsByTagName
HTMLCollection
<p class=“t4”>P6</p>
<p class=“t4”>P7</p>
<script type=“text/javascript”>
var t4List = document.getElementsByTagName("p");<br/>
console.log(t4List); // HTMLCollection(2) [p, p]<br/>
Array.prototype.forEach.call(t4List, function(v){console.log(v);});<br/>
Array.prototype.map.call(t4List,function(v){console.log(v);} );<br/>
</script>
querySelector
CSSCSSHTMLDivElement
<div>
<div class="t5">D8</div><br/>
</div>
<script type=“text/javascript”>
var t5 = document.querySelector("div .t5");<br/>
console.log(t5); // <div class="t5">D8</div><br/>
console.log(Object.prototype.toString.call(t5)); // [object HTMLDivElement]<br/>
</script>
querySelectorAll
CSSCSSNodeList
<div>
<div id="t6">D9</div><br/>
<div>D10</div><br/>
<div>D11</div><br/>
</div>
<script type=“text/javascript”>
var t6List = document.querySelectorAll("#t6 ~ div");<br/>
console.log(t6List); // NodeList(2)[div, div]<br/>
t6List.forEach(function(v){console.log(v);});<br/>
Array.prototype.map.call(t6List,function(v){console.log(v);} );<br/>
</script>
代码示例
<!DOCTYPE html>
<html>
<head>
<title>Js选择器</title><br/>
<meta charset="utf-8"><br/>
</head>
<body>
<div id=“t1”>D1</div>
<div class=“t2”>D2</div>
<div class="t2">D3</div>
<div name=“t3”>D4</div>
<div name="t3">D5</div>
<p class=“t4”>P6</p>
<p class="t4">P7</p>
<div>
<div class="t5">D8</div><br/>
</div>
<div>
<div id="t6">D9</div><br/>
<div>D10</div><br/>
<div>D11</div><br/>
</div>
</body>
<script type=“text/javascript”>
var t1 = document.getElementById("t1");<br/>
console.log(t1); // <div id="t1">D1</div><br/>
console.log(Object.prototype.toString.call(t1)); // [object HTMLDivElement]<br/>
console.log("");
var t2List = document.getElementsByClassName(“t2”);
console.log(t2List); // HTMLCollection(2) [div.t2, div.t2]<br/>
// 使用for循环遍历<br/>
for(let i=0,n=t2List.length;i<n;++i) console.log(t2List[i]);<br/>
// HTMLCollection的prototype中没有forEach方法,遍历需要使用Array的prototype中forEach通过call绑定对象实例并传参<br/>
Array.prototype.forEach.call(t2List,v => console.log(v) );<br/>
// HTMLCollection的prototype中没有map方法,也需要使用Array的prototype中forEach通过call绑定对象实例并传参<br/>
Array.prototype.map.call(t2List,v => console.log(v) );<br/>
console.log("");
var t3List = document.getElementsByName(“t3”);
console.log(t3List); // NodeList(2) [div, div]<br/>
// 可直接使用forEach进行遍历<br/>
t3List.forEach( v => console.log(v) );<br/>
// NodeList的prototype中没有map方法,使用map的场景也需要借助Array的prototype中map通过call绑定对象实例并传参<br/>
Array.prototype.map.call(t3List,v => console.log(v) );<br/>
console.log("");
var t4List = document.getElementsByTagName(“p”);
console.log(t4List); // HTMLCollection(2) [p, p]<br/>
Array.prototype.forEach.call(t4List, function(v){console.log(v);});<br/>
Array.prototype.map.call(t4List,function(v){console.log(v);} );<br/>
console.log("");
var t5 = document.querySelector(“div > .t5”);
console.log(t5); // <div class="t5">D8</div><br/>
console.log(Object.prototype.toString.call(t5)); // [object HTMLDivElement]<br/>
console.log("");
var t6List = document.querySelectorAll(“#t6 ~ div”);
console.log(t6List); // NodeList(2) [div, div]<br/>
t6List.forEach(function(v){console.log(v);});<br/>
Array.prototype.map.call(t6List,function(v){console.log(v);} );<br/>
console.log("");<br/>
</script>
</html>
每日一题
https://github.com/WindrunnerMax/EveryDay
参考
数组的遍历 https://github.com/WindrunnerMax/EveryDay/blob/master/JavaScript/Js%E9%81%8D%E5%8E%86%E6%95%B0%E7%BB%84%E6%80%BB%E7%BB%93.md
ES6箭头函数 https://github.com/WindrunnerMax/EveryDay/blob/master/JavaScript/ES6%E6%96%B0%E7%89%B9%E6%80%A7.md
原型与原型链 https://github.com/WindrunnerMax/EveryDay/blob/master/JavaScript/%E5%8E%9F%E5%9E%8B%E4%B8%8E%E5%8E%9F%E5%9E%8B%E9%93%BE.md
CSS选择器 https://github.com/WindrunnerMax/EveryDay/blob/master/CSS/CSS%E9%80%89%E6%8B%A9%E5%99%A8.md
相关文章
-
JavaScript学习笔记(二)——闭包、IIFE、apply、函数与对象
JavaScript学习笔记(二)——闭包、IIFE、apply、函数与对象
- 互联网
- 2026年04月04日
-
JavaScript异步编程1——Promise的初步使用
JavaScript异步编程1——Promise的初步使用
- 互联网
- 2026年04月04日
-
JavaScript与java语法区别
JavaScript与java语法区别
- 互联网
- 2026年04月04日
-
javaScript系列:js中获取时间new Date()详细介绍
javaScript系列:js中获取时间new Date()详细介绍
- 互联网
- 2026年04月04日
-
JavaScript通过父节点ID递归生成JSON树
JavaScript通过父节点ID递归生成JSON树
- 互联网
- 2026年04月04日
-
Javascript手记
Javascript手记
- 互联网
- 2026年04月04日






