JavaScript获取元素
想要对DOM进行操作,首先要获取元素,也就是获取"元素节点"(注意不是属性节点或文本节点) 获取元素--》创建元素--》插入元素,删除元素,复制元素,替换元素
例: <div id="hello">你好</div>
id="hello" 是一个属性节点 你好是一个文本节点 <div id="hello">你好</div>整句就是一个元素节点
怎样获取呢? 这和CSS中的选择器相似,只不过选择器是CSS的操作方式,JavaScript有自己的方法。
可以通过以下6中方法来获取指定元素。
(1)getElementById()
(2)getElementsByTagName()
(3) getElementsByClassName()
(4) querySelector()和querySelectorAll()
(5)getElementsByName()
(6)document.title和document.body
注意:严格区分大小写
(1)getElementById()通过id来获取元素
(2)getElementsByTagName() 通过标签名来获取元素
区别:1.getElementById()获取的是一个元素,而getElementsByTagName()获取的是多个元素(伪数组)
2.getElementById()前面只可以接document,也就是document.getElementById(),
而getElementsByTagName() 前面不仅可以接document,还可以接其他DOM对象。
3.getElementById()不可以操作动态创建的DOM元素,而getElementsByTagName() 可以操作动态创建的DOM元素。
(3) getElementsByClassName() 通过类名来获取元素
同样getElementsByClassName() 也不能操作动态DOM,只有getElementsByTagName() 这一个方法能操作动态DOM
(4) querySelector()和querySelectorAll()使用CSS选择器的语法来获取所需要的元素
querySelector()表示选取满足选择条件的第一个元素,querySelectorAll()表示选取满足条件的所有元素。
(5)getElementsByName() 通过name属性获取表单元素
getElementsByName()获取的也是一个类数组,如果想要准确得到某一个元素,可以使用数组下标的方式来获取。
getElementsByName()只用于表单元素,一般只用于单选按钮和复选框。
(6)document.title和document.body 由于一个页面只有一个title元素和一个body元素,所以专门提供了两个方法。