DOM操作

2017-10-26  本文已影响0人  字母31

1、dom对象的innerText和innerHTML有什么区别?

a)innerText:获取的是选取节点里的内容,会自动过滤到HTML标签
b)innerHTML:获取的是选取节点里的全部,包括HTML标签

2、elem.children和elem.childNodes的区别?

elem.children获取的节点都是element元素,而elem.childNodes获取的不仅包含element还有文本、属性、注释等

3、查询元素有几种常见的方法?ES5的元素选择方法是什么?

传统方法

document.getElementById() => 获取对应 id 的元素
document.getElementsByTagName() => 获取符合对应标签名的所有元素
document.getElementsByClassName() => 获取类的所有元素
document.getElementsByName() => 获取元素 name 属性为对应值的所有元素

ES5选择方法

document.querySelector() => 返回匹配的第一个
document.querySelectorAll() => 返回匹配的对应的所有元素

4、如何创建一个元素?如何给元素设置属性?如何删除属性

创建元素
document.createElement() => 创建一个指定 tag 的新元素
设置属性
element.setAttribute() => 设置指定名字属性的值
删除属性
element.removeAttribute() => 删除指定名字属性

5、如何给页面元素添加子元素?如何删除页面元素下的子元素?

添加子元素
element.appendChild() => 往对应元素的末尾添加新元素,作为其子元素
parentElement.insertBefore(new, brother) => 在父元素内,往对应元素的前面添加新元素,作为其兄弟元素
删除子元素
parentElement.removeChild(child) => 在父元素内,移除指定子元素

6、element.classList有哪些方法?如何判断一个元素的 class 列表中是包含某个 class?如何添加一个class?如何删除一个class?

方法:
element.classList.add('active')   //新增 class
element.classList.remove('active')  //删除 class
element.classList.toggle('active')   //新增/删除切换
element.classList.contains('active')   // 判断是否拥有 class

7、如何选中如下代码所有的li元素? 如何选中btn元素?

<div class="mod-tabs">
   <ul>
       <li>list1</li>
       <li>list2</li>
       <li>list3</li>
   </ul>
   <button class="btn">点我</button>
</div>
var liArray = document.querySelectorAll('.mod-tabs li')
var btn = documents.querySelector('.mod-tabs .btn')
上一篇下一篇

猜你喜欢

热点阅读