元素节点选择器:
id选择器 、 class选择器、 name选择器 、 tagname选择器、 高级选择器 、关系选择器
ID选择器:返回单个对象;
//假设页面上有一个id名为box的元素 var box = document.getElementById("box"); console.log(box) //选中这个元素
class选择器:返回数组对象,可通过索引解析其中的元素。
var acont = document.getElementsByClassName("cont") console.log(acont) //所有class名为cont元素组成的数组 console.log(acont[0]) //通过索引选中它的第一个元素 console.log(acont[0].innerHTML) //通过索引直接拿到它的innerhtml值 console.log(acont.innerHTML) //选中整个数组的所有innerHTML值
tagname选择器:返回数组对象,可通过索引解析其中的元素。
var aspan = document.getElementsByTagName("span") //选中所有span标签 console.log(aspan) //打印它返回的数组对象
name选择器:返回数组对象,可通过索引解析其中的元素。
var auser = document.getElementsByName("user") //选中所有name属性为user的元素 console.log(auser) //打印这个数组对象
ES5新增的高级选择器:
1:querySelector:返回的是单个对象。
var ele = document.querySelector("#box") var ele = document.querySelector(".cont") var ele = document.querySelector("span") var ele = document.querySelector(".msg h2") console.log(ele) //小括号里可以写ID名,class名,标签名,也可以使用父元素下的子元素的写法。
2:querySelectorAll:返回数组对象,可通过索引解析其中的元素。
var ele = document.querySelectorAll("#box") var ele = document.querySelectorAll(".cont") var ele = document.querySelectorAll("span") var ele = document.querySelectorAll(".msg h2") var ele = document.querySelectorAll(".msg>h2") console.log(ele) //写法类似queryselector,不过这个返回的是数组对象
关系选择器:
1:父元素选子元素:
var omsg = document.querySelector(".msg"); //选中父元素 console.log(omsg.children); //打印出父元素下的所有子元素
2:子元素选父元素:
var osbox = document.querySelector(".sbox"); //选中有父元素的子元素 console.log(osbox.parentNode); //打印出打的父元素
3:选中第一个子元素:
var omsg = document.querySelector(".msg"); //选中父元素 console.log(omsg.firstElementChild); //打印出当前选择的父元素下的第一个子元素
4:选中最后一个子元素:
var omsg = document.querySelector(".msg"); console.log(omsg.lastElementChild) //显而易见,frist是第一个,那么last是最后一个
5:选中上一个兄弟元素:
var omsg = document.querySelector(".msg"); //选中一个元素 console.log(omsg.previousElementSibling) //打印出和它同级的上一个元素(上一个兄弟元素)
6:选中下一个兄弟元素:
var omsg = document.querySelector(".msg"); //选中一个元素 console.log(omsg.nextElementSibling) //打印出和它同级的下一个元素(下一个兄弟元素)
其他节点选择器:
父选子: var obox = document.querySelector(".box") console.log(obox.childNodes) 上一个兄弟: var obox = document.querySelector(".box") console.log(obox.previousSibling) 下一个兄弟: var obox = document.querySelector(".box") console.log(obox.nextSibling) 第一个子: var obox = document.querySelector(".box") console.log(obox.firstChild) 最后一个子: var obox = document.querySelector(".box") console.log(obox.lastChild) //和元素节点选择器比较,其他节点选择器的关系选择只是在打印元素时少了一个element,特殊的在父选子时单词有所改变,
要注意区分。自习观察就能看到他们相似而又有所区别的地方,这里就不一一分析了