題目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ū)別?
- elem.children 代表子元素列表(HTMLCollection)獲取的節(jié)點都是element元素
- 代表子元素列表(NodeList)獲取的不僅包含element元素,還有文本、屬性、注釋等
題目3:查詢元素有幾種常見的方法?ES5的元素選擇方法是什么?
document.getElementById() : 獲取對應(yīng)id的元素
document.getElementsByClassName() : 獲取對應(yīng)calss的所有元素
document.getElementsByTagName() : 獲取對應(yīng)標簽的所有元素
document.getElementsByName() : 獲取擁有name屬性的HMTL元素,比如form、img、frame、embed和object
ES5的元素選擇方法:
document.querySelector() : 匹配指定的CSS選擇器的第一個元素節(jié)點
document.querySelectorAll() : 匹配指定的CSS選擇器的所有元素節(jié)點
題目4:如何創(chuàng)建一個元素?如何給元素設(shè)置屬性?如何刪除屬性
- createElement()方法用來生成HTML元素節(jié)點。
createElement方法的參數(shù)為元素的標簽名,即元素節(jié)點的tagName屬性。如果傳入大寫的標簽名,會被轉(zhuǎn)為小寫。如果參數(shù)帶有尖括號(即<和>)或者是null,會報錯。
var newDiv = document.createElement("div");
- 設(shè)置元素屬性: element.setAttribute()
var node = document.getElementById("div1")
node.setAttribute("my_attrib", "newVal")
- 刪除屬性: element.removeAttribute()
node.removeAttribute('id')
題目5:如何給頁面元素添加子元素?如何刪除頁面元素下的子元素?
appendChild()在元素末尾添加元素
var newDiv = document.createElement("div");
var newContent = document.createTextNode("Hello");
newDiv.appendChild(newContent);
insertBefore()在某個元素之前插入元素
var newDiv = document.createElement("div");
var newContent = document.createTextNode("Hello");
newDiv.insertBefore(newContent, newDiv.firstChild);
刪除元素使用removeChild()方法即可
題目6: element.classList有哪些方法?如何判斷一個元素的 class 列表中是包含某個 class?如何添加一個class?如何刪除一個class?
| 方法 | 用途 |
|---|---|
| element.classList.contains('ct') | 判斷是否擁有某個class |
| element.classListadd('ct') | 添加 class |
| element.classList.remove('ct') | 刪除 class |
| element.classList.toggle('ct') | 新增/刪除切換 |
題目7: 如何選中如下代碼所有的li元素? 如何選中btn元素?
<div class="mod-tabs">
<ul>
<li>list1</li>
<li>list2</li>
<li>list3</li>
</ul>
<button class="btn">點我</button>
</div>
var li = document.querySeletorAll(".mod-tabs li")
var btn = document.querySeletor(".mod-tabs .btn")