进阶8:DOM操作

2017-12-08  本文已影响0人  FLYSASA

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>DOM</title>
</head>
<body>
    <div id="ct">
        <p>
            123
            <span>456</span>
        </p>
    </div>

    <script>
        var elem = document.getElementById('ct');
        console.log(elem.innerText)   //123 456
        console.log(elem.innerHTML)  //<p>123<span>456</span></p>
    </script>
</body>
</html>

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

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

ES5的元素选择方法:

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

创建:

var newDiv = document.createElement("div");
var newDiv = document.createElement("div");
var newContent = document.createTextNode("Hello");
var docFragment = document.createDocumentFragment();

设置属性:

var node = document.getElementById("div1");
node.setAttribute("my_attrib", "newVal");

等同于

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

删除属性:

removeAttribute(attr):接收一个参数,即要删除的属性名

node.removeAttribute('id');

示例:


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

var newDiv = document.createElement("div");
var newContent = document.createTextNode("Hello");
newDiv.appendChild(newContent);
var newDiv = document.createElement("div");
var newContent = document.createTextNode("Hello");
newDiv.insertBefore(newContent, newDiv.firstChild);
newDiv.replaceChild(newElement, oldElement);
parentNode.removeChild(childNode);

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>
<script>
    var ali = document.querySelectorAll(".mod-tabs li");
    var aBtn = document.querySelector(".mod-tabs .btn") //ES5
//或
    var ali = document.getElementsByClassName("btn");
    var aBtn = document.getElementsByTagName("li")
</script>
上一篇 下一篇

猜你喜欢

热点阅读