題目1: dom對(duì)象的innerText和innerHTML有什么區(qū)別?
- innerText 是一個(gè)可寫屬性,返回元素內(nèi)包含的文本內(nèi)容,在多層次的時(shí)候會(huì)按照元素由淺到深的順序拼接其內(nèi)容
<div>
<p>
123
<span>456</span>
</p>
</div>
外層div的innerText返回內(nèi)容是'123456'
- innerHTML屬性作用和innerText類似,但是不是返回元素的文本內(nèi)容,而是返回元素的HTML結(jié)構(gòu),在寫入的時(shí)候也會(huì)自動(dòng)構(gòu)建DOM
<div>
<p>
123
<span>456</span>
</p>
</div>
外層div的innerHTML返回內(nèi)容是“<p>123<span>456</span></p>"
題目2: elem.children和elem.childNodes的區(qū)別?
- elem.children 只返回HTML元素節(jié)點(diǎn)
- elem.childNodes 返回所有的子節(jié)點(diǎn),包括HTML元素,屬性,文本
題目3:查詢?cè)赜袔追N常見的方法?ES5的元素選擇方法是什么?
- 常見方法有
getElementById(),
getElementsByClassName(),
getElementsByTagName(),
getElementsByName() - ES5的元素選擇方法
- querySelector方法返回匹配指定的CSS選擇器的元素節(jié)點(diǎn)。如果有多個(gè)節(jié)點(diǎn)滿足匹配條件,則返回第一個(gè)匹配的節(jié)點(diǎn)
- querySelectorAll()querySelectorAll方法返回匹配指定的CSS選擇器的所有節(jié)點(diǎn),返回的是NodeList類型的對(duì)象
題目4:如何創(chuàng)建一個(gè)元素?如何給元素設(shè)置屬性?如何刪除屬性
- 創(chuàng)建元素 createElement()
- 設(shè)置屬性 setAttribute()
- 刪除屬性 removeAttribute()
題目5:如何給頁(yè)面元素添加子元素?如何刪除頁(yè)面元素下的子元素?
- 添加子元素 ,添加到元素的末尾 appendChild()
- 刪除頁(yè)面下的子元素 removeChild()
題目6: element.classList有哪些方法?如何判斷一個(gè)元素的 class 列表中是包含某個(gè) class?如何添加一個(gè)class?如何刪除一個(gè)class?
element.classList得到一個(gè)數(shù)組
-
item(Number)按集合中的索引返回類值 -
toggle(String)當(dāng)只有一個(gè)參數(shù)時(shí),切換class value;即如果存在類,則刪除它并返回false,如果不存在,則添加它并返回true;當(dāng)存在第二個(gè)參數(shù)時(shí):如果第二個(gè)參數(shù)的計(jì)算結(jié)果為true,則添加指定的類值,如果計(jì)算結(jié)果為false,則刪除它 - 判斷包含某個(gè)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">點(diǎn)我</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]