DOM操作

2017-10-30  本文已影响0人  ShawnRong

题目1: dom对象的innerText和innerHTML有什么区别?

innerText是一个可写属性,返回元素内包含的文本内容,在多层次的时候会按照元素由浅到深的顺序拼接其内容

innerHTML属性作用和innerText类似,但不是返回元素的文本内容,而是反而元素的HTML结构,在写入的时候也会自动构架DOM

二者的区别:

<div>
    <p>
    123 <span>456</span>
    </p>
</div>

外层div的innerText返回内容是123456innerHTML返回的内容是<p>123<span>456</span></p>

题目2: elem.children和elem.childNodes的区别?

ParentNode.children是一个只读属性,返回一个Node的子elements(只返回子元素,不包括文本节点)。children属性为只读属性,对象类型为HTMLCollection
Node.childNodes返回包含指定节点的直接点的集合。返回的是NodeList类型,且为只读。可以通过nodeType来判断是哪种类型的节点,只有当nodeType==1时才是元素节点,2是属性节点,3是文本节点。

  <div id="main">
    textNode
    <div>element</div>
  </div>

children返回[div]; childNodes返回[text,div,text]

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

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

属性操作

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

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

var nodeBox = document.querySelector('.box')
console.log( nodeBox.classList )
nodeBox.classList.add('active')   //新增 class
nodeBox.classList.remove('active')  //删除 class
nodeBox.classList.toggle('active')   //新增/删除切换
node.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>
<script>
document.querySelectorAll('li'); //获取所有的li元素
document.getElementsByTagName('li') ;// 方法二
document.getElementsByTagName('button');//选中button
document.getElementsByClassName('btn');
document.querySelector('button');
</script>
上一篇下一篇

猜你喜欢

热点阅读