DOM操作

作者: gigi1226 | 来源:发表于2017-12-05 00:58 被阅读0次

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

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

外层div的innerText返回内容是'123456'

  • innerHTML属性作用和innerText类似,但是不是返回元素的文本内容,而是返回元素的HTML结构,在写入的时候也会自动构建DOM
<div>
    <p>
        123
          <span>456</span>
     </p>
</div>

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

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

  • elem.children 只返回HTML元素节点
  • elem.childNodes 返回所有的子节点,包括HTML元素,属性,文本

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

  • 常见方法有
    getElementById(),
    getElementsByClassName(),
    getElementsByTagName(),
    getElementsByName()
  • ES5的元素选择方法
    • querySelector方法返回匹配指定的CSS选择器的元素节点。如果有多个节点满足匹配条件,则返回第一个匹配的节点
    • querySelectorAll()querySelectorAll方法返回匹配指定的CSS选择器的所有节点,返回的是NodeList类型的对象

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

  • 创建元素 createElement()
  • 设置属性 setAttribute()
  • 删除属性 removeAttribute()

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

  • 添加子元素 ,添加到元素的末尾 appendChild()
  • 删除页面下的子元素 removeChild()

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

element.classList得到一个数组

  • item(Number) 按集合中的索引返回类值
  • toggle(String)当只有一个参数时,切换class value;即如果存在类,则删除它并返回false,如果不存在,则添加它并返回true;当存在第二个参数时:如果第二个参数的计算结果为true,则添加指定的类值,如果计算结果为false,则删除它
  • 判断包含某个class element.classList.contain('title')
  • 添加class element.classList.add('active')
  • 删除class element.classList.remove('active')
var title = document.querySelector('.title')
title.childList.add('active')
title.childList.remove('active')
title.childList.contains('title')//true

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

<div class="mod-tabs">
   <ul>
       <li>list1</li>
       <li>list2</li>
       <li>list3</li>
   </ul>
   <button class="btn">点我</button>
</div>
    var oLi  = document.querySelectorAll(".mod-tabs li");
    var aBtn = document.querySelector(".mod-tabs .btn");
    或
    var aDiv = document.getElementsByClassName('mod-tabs')[0]
    var oLi = document.getElementsByTagName('li')
    var aBtn = aDiv.getElementsByTagName('btn')[0]

相关文章

网友评论

      本文标题:DOM操作

      本文链接:https://www.haomeiwen.com/subject/eexxixtx.html