.題目1: dom對象的innerText和innerHTML有什么區(qū)別?
innerText返回元素內(nèi)的的文本內(nèi)容刁赦,innerHTML返回元素內(nèi)的HTML結(jié)構(gòu),包括標簽叛复。
題目2: elem.children和elem.childNodes的區(qū)別?
elem.children:獲取指定元素的子元素列表咱筛,包含HTML元素節(jié)點彼妻,也就是標簽嫌佑。
elem.childNodes:獲取指定元素的子元素列表,包含HTML元素節(jié)侨歉、文本節(jié)點屋摇、注釋節(jié)點。也包括一些空白幽邓,所以我們一般用elem.children比較多炮温。
題目3:查詢元素有幾種常見的方法?ES5的元素選擇方法是什么?
傳統(tǒng)方法有:通過ID查找getElementById()牵舵、通過類名查找getElementByClassName()柒啤、通過標簽名查找getElementsByTagName()、通過name屬性查找(比如input)getElementsByName()畸颅。
ES5的元素選擇方法:querySelector()担巩,通過css選擇器查詢元素節(jié)點,查找一個。
和querySelectorAll没炒,css選擇器查找元素所有節(jié)點涛癌,查找多個。
題目4:如何創(chuàng)建一個元素窥浪?如何給元素設置屬性祖很?如何刪除屬性
通過createElement()方法創(chuàng)建元素。
setAttribute()方法給元素設置屬性漾脂。
emoveAttribute()刪除屬性。
題目5:如何給頁面元素添加子元素胚鸯?如何刪除頁面元素下的子元素?
appendChild()方法在元素末尾添加元素
insertBefore()方法在某個元素之前插入元素
removeChild()方法可用于刪除某元素下的子元素
題目6: element.classList有哪些方法骨稿?如何判斷一個元素的 class 列表中是包含某個 class?如何添加一個class姜钳?如何刪除一個class坦冠?
添加class:
add(class1, class2, ...)在元素中添加一個或多個不存在的類名。
判斷是否包含class:
contains(class)返回布爾值哥桥,判斷指定的類名是否存在辙浑。
item(index)返回索引值對應的元素類名。
刪除一個class:
remove(class1, class2, ...)移除元素中一個或多個類名拟糕。
toggle(class, true|false)在元素中切換類名判呕。
題目7: 如何選中如下代碼所有的li元素倦踢? 如何選中btn元素?
<div class="mod-tabs">
<ul>
<li>list1<li>
<li>list2<li>
<li>list3<li>
</ul>
<button class="btn">點我</btn>
</div>
選中所有l(wèi)i元素:document.getElementsByTagName("li") document.querySelectorAll("li")
如何選中btn元素:document.getElementsByClassName("btn"),document.querySelector(".btn")