題目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只輸出普通的DOM元素;
- element.childNodes會輸出所有的子元素,包括文本節(jié)點、文字;
大多數(shù)情況下我們應(yīng)該使用element.children;
題目3:查詢元素有幾種常見的方法?ES5的元素選擇方法是什么?
getElementById()
getElementsByClassName()
getElementsByTagName()
getElementsByName()
ES5元素選擇方法
querySelectorAll()
querySelector()
題目4:如何創(chuàng)建一個元素?如何給元素設(shè)置屬性?如何刪除屬性
- document.createElement()方法用來生成HTML元素節(jié)點。
- element.setAttribute()方法用于設(shè)置元素屬性
- element.removeAttribute()用于刪除元素屬性
題目5:如何給頁面元素添加子元素?如何刪除頁面元素下的子元素?
- document.appendChild()在元素末尾添加元素
- document.removeChild()刪除元素
題目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>
獲取li
- document.getElementsByTagName("li");
- document.querySelectorAll('li')
選中btn
- document.querySelector('.btn')
- document.getElementsByTagName('button')
- document.getElementByClassName('btn')