11Element对象
什么是Element对象
DOM的标准规范中提供了 Elementi对象,该对象提供了HTML页面中所有元素所具有的属性和方法。
DOM标准规范中提供了Node对象,主要是依靠DOM节点树结构访问和更新HTML页面的内容。
而DOM标准规范中提供了 Element对象,主要是依靠DOM元素树结构访问和更新HTML页面的内容。
定位元素
<div class='container'>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>getElementsByTagName
var container = document.getElementsByClassName("container")[0] var elements = container.getElementsByTagName("div"); console.log(elements)getElementsByClassName
var container = document.getElementsByClassName("container")[0]通过此方法获取不存在空白节点问题
querySelector
var container = document.body var css1 = container.querySelector('.container')可以包含一个或多个,但只返回第一个
querySelectorAll
与上一个类似,返回全部
遍历元素
<div id="d">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
</div>获取指定节点的所有子元素
获取指定元素的所有子元素的个数
获取指定节点的第一个子元素
存在空白节点问题。,如果没有子元素,则返回null
获取指定节点的最后一个子元素
var d = document.getElementById('d')
d.firstChild.nextSibling.textContent = '666'
// 获取指定节点的所有子元素
console.log('children:', d.children)
// 获取指定元素的所有子元素的个数
console.log("childElementCount", d.childElementCount)
// 获取指定节点的第一个子元素
console.log("firstChild", d.firstChild)
// 获取指定节点的最后一个子元素
console.log("lastElementChild", d.lastElementChild)- 获取指定元素的前面相邻兄弟元素
- 获取指定元素的后面相邻兄弟元素
var d = document.getElementById('d')
// 获取下一个兄弟元素(获取到空白节点)
console.log(d.nextSibling)
// 获取到script脚本
console.log(d.nextSibling.nextSibling)
console.log(d.previousSibling)
console.log(d.previousSibling.previousSibling)属性操作
<p id="p1" class="text">12312321</p>获取
var pElement = document.getElementById('p1') console.log(pElement.getAttribute("class")) //返回text设置
pElement.setAttribute("name", 'name_test') console.log(pElement.getAttribute('name'))删除
pElement.setAttribute("name", 'name_test') pElement.removeAttribute('name') console.log(pElement.getAttribute('name'))如果删除的属性不存在的话,不会引发任何异常
判断是否含有指定属性(是否含有指定属性,布尔值)
console.log(pElement.hasAttribute("class"))用于判断是否存在属性(存在属性即返回true)
console.log(pElement.hasAttributes())
InnerHTML
可以直接添加HTML代码
var pElement = document.getElementById('p1')
pElement.innerHTML = '<span>test<span>' 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小康博客!
评论
TwikooDisqusjs













