1- dom對象的innerText和innerHTML的區(qū)別
- innerText是一個可寫屬性渤闷,返回元素內(nèi)包含的文本內(nèi)容乐尊,在多層次的時候會按照元素由淺到深的順序拼接其內(nèi)容沉唠。
- innerHTML屬性作用和innerText類似,但是不是返回元素的文本內(nèi)容支子,而是返回元素的HTML結(jié)構(gòu),在寫入的時候也會自動構(gòu)建DOM唠叛。
2- elem.children 和 elem.childNodes 的區(qū)別
- Element.children:子元素列表(HTMLCollection),返回一個HTMLCollection對象沮稚,包括當前元素節(jié)點的所有子元素艺沼。
- Element.childNodes:子元素列表(NodeList),返回一個NodeList集合蕴掏,包括當前節(jié)點的HTML元素節(jié)點障般,還返回Text節(jié)點和Comment節(jié)點。
3- 幾種常見查詢元素的方法盛杰;ES5的元素選擇方法
查詢元素常見的方法:
- getElementById()
- getElementsByClassName()
- getElementsByTagName()
- getElementsByName()
ES5的元素選擇方法:
- querySelector()
- querySelectorAll()
4- 如何創(chuàng)建一個元素挽荡?如何給元素設(shè)置屬性?如何刪除屬性
- 創(chuàng)建元素:createElement()
- 給元素設(shè)置屬性:setAttribute("屬性名", "屬性值")
- 刪除屬性:romoveAttribute("屬性名")
5- 如何給頁面元素添加子元素即供?如何刪除頁面元素下的子元素?
- 添加元素:
var newDiv = document.createELement('newDivName');
document.body.appendChild(newDiv); - 刪除元素:
document.body.removeChild(newDiv);
6- element.classList 有哪些方法徐伐?如何判斷一個元素的 class 列表中是包含某個 class?如何添加一個class募狂?如何刪除一個class?
- element.classList 是一個只讀屬性办素,返回一個元素的類屬性的實時 DOMTokenList集合。
- add(className):添加類
- remove(className):刪除類
- contains(className):是否包含指定類名祸穷,返回布爾值
- toString():將類數(shù)組對象轉(zhuǎn)為字符串
- element.classList.contains(className):判斷是否包含且返回布爾值
- element.classList.add(className):添加類
- element.classList.remove(className):刪除類
7- 如何選中如下代碼所有的li元素性穿? 如何選中btn元素?
<div class="mod-tabs">
<ul>
<li>list1<li>
<li>list2<li>
<li>list3<li>
</ul>
<button class="btn">點我</button>
</div>
結(jié)果:
<div class="mod-tabs">
<ul>
<li>list1<li>
<li>list2<li>
<li>list3<li>
</ul>
<button class="btn">點我</btn>
</div>
var liList = document.querySelectorAll('.mod-tabs>li');
var btn = document.querySelector('.btn');
//兼容ie7雷滚、8
var liList = document.getElementByTagName('li');
var btn = document.getElementByClassName('btn')[0]