DOM操作 任务

2017-04-21  本文已影响74人  辉夜乀

题目1:

dom对象的innerTextinnerHTML有什么区别?

  <div id="me">
    <p>
      hello
      <span>jirengu</span>
    </p>
  </div>

div.innerText    
    // 返回"hello jirengu"
div.innerHTML返回    
    // "<p>hello<span>jirengu</span></p>"

题目2:

elem.childrenelem.childNodes的区别?

<body>
  hello world
  <h1 class="title">我是一级标题</h1>
  <p class="content">我是一个大段落</p>
  <a href="https://jirengu.com" id="link">这是一个饥人谷的链接</a>
</body>

document.body.children
/*[h1.title, p.content, a#linking, linking: a#linking]
获得的是body下的子元素,不包括文本对象
*/

document.body.childNodes
/*[text, h1.title, text, p.content, text, a#linking, text, comment, text]
获得的是body下的所有元素,包括文本对象,换行也是文本对象。
*/

题目3:

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

常见方法:

ES5的方法:

题目4:

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

创建元素:

元素属性操作:

题目5:

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

var body = document.body
var div = document.createElement("div")
body.appendChild(div)     // 在<body>元素的末尾添加了 <div> 元素。
var newDiv = document.createElement("div");
var newContent = document.createTextNode("Hello");
newDiv.insertBefore(newContent, newDiv.firstChild);
//插入元素与被插入元素是平级的,所以这里用newDiv.firstChild来让文本节点插入<div>元素中。
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>

//选中所有的<li>元素
document.getElementsByTagName("li")
document.querySelectorAll("li")  

//选中btn元素
document.getElementsByClassName("btn")[0]
document.getElementsByTagName("button")[0]
document.querySelector(".btn")   
document.querySelectorAll(".btn")[0]  
上一篇 下一篇

猜你喜欢

热点阅读