FE-study

JS-DOM操作

2017-10-08  本文已影响0人  饥人谷_bigJiao

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

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

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

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

创建元素

createElement()方法的参数为元素的标签名,即元素节点的tagName属性。如果传入大写的标签名,会被转为小写。如果参数带有尖括号(即<和>)或者是null,会报错。

上面代码新建一个div节点和一个文本节点

DocumentFragment对象是一个存在于内存的DOM片段,但是不属于当前文档,常常用来生成较复杂的DOM结构,然后插入当前文档。这样做的好处在于,因为DocumentFragment不属于当前文档,对它的任何改动,都不会引发网页的重新渲染,比直接修改当前文档的DOM有更好的性能表现。

如何给元素设置属性

等同于

  var node = document.getElementById("div1");
  var a = document.createAttribute("my_attrib");
  a.value = "newVal";
  node.setAttributeNode(a);

如何删除属性

获取元素属性

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

给页面元素添加子元素

删除元素

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

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

  <div class="mod-tabs">
    <ul>
        <li>list1</li>
        <li>list2</li>
        <li>list3</li>
    </ul>
    <button class="btn">点我</button>
  </div>
  document.getElementsByTagName('li')
  // [<li>​list1​</li>​, <li>​list2​</li>​, <li>​list3​</li>​]

  document.getElementsByTagName('button')
  // [<button class=​"btn">​点我​</button>​]

  document.querySelectorAll('li')
  // [<li>​list1​</li>​, <li>​list2​</li>​, <li>​list3​</li>​]

  document.querySelectorAll('.btn')
  // [<button class=​"btn">​点我​</button>​]

参考

上一篇 下一篇

猜你喜欢

热点阅读