1: dom對象的innerText和innerHTML有什么區(qū)別弟劲?
-
innerHTML
屬性設置或獲取描述元素后代的HTML語句 -
innerText
是一個可寫屬性,返回元素內包含的文本內容泊碑,在多層次的時候會按照元素由淺到深的順序拼接其內容
2: elem.children和elem.childNodes的區(qū)別瓤介?
-
elem.children
子元素列表(HTMLCollection)凶朗,當前元素的子元素的集合 -
elem.childNodes
子元素列表(NodeList),當前元素的子元素以及文本(空格也算文本)的集合
3:查詢元素有幾種常見的方法衡蚂?ES5的元素選擇方法是什么?
-
getElementById()
方法返回匹配指定ID屬性的元素節(jié)點。如果沒有發(fā)現(xiàn)匹配的節(jié)點骏庸,則返回null毛甲。這也是獲取一個元素最快的方法 - 諸如此類的還有
getElementByClassName()
、getElementsByTagName()
具被、getElementsByName()
玻募、querySelector()
4:如何創(chuàng)建一個元素?如何給元素設置屬性一姿?如何刪除屬性
-
createElement()
方法創(chuàng)建元素七咧。 -
setAttribute()
方法給元素設置屬性。 -
removeAttribute()
刪除屬性叮叹。
5:如何給頁面元素添加子元素艾栋?如何刪除頁面元素下的子元素?
-
appendChild()
添加在選中元素內部的最后 -
insertBefore()
添加在選中元素內部的開頭 -
removeChild()
刪除選中元素的子元素
6: element.classList有哪些方法?如何判斷一個元素的 class 列表中是包含某個 class蛉顽?如何添加一個class蝗砾?如何刪除一個class?
方法 | 描述 | |
---|---|---|
add(class1, class2, ...) | 在元素中添加一個或多個類名。如果指定的類名已存在携冤,則不會添加悼粮。 | |
contains(class) | 返回布爾值,判斷指定的類名是否存在曾棕。true表示元素包已經(jīng)包含了該類名扣猫;false表示元素中不存在該類名。 | |
item(index) | 返回類名在元素中的索引值睁蕾。索引值從 0 開始苞笨。如果索引值在區(qū)間范圍外則返回 null债朵。 | |
remove(class1, class2, ...) | 移除元素中一個或多個類名。注意: 移除不存在的類名瀑凝,不會報錯序芦。 | |
toggle(class, true | false) | 在元素中切換類名。第一個參數(shù)為要在元素中移除的類名粤咪,并返回 false谚中。 如果該類名不存在則會在元素中添加類名,并返回 true寥枝。 第二個是可選參數(shù)宪塔,是個布爾值用于設置元素是否強制添加或移除類,不管該類名是否存在囊拜。例如:移除一個 class: element.classList.toggle("classToRemove", false); 添加一個 class: element.classList.toggle("classToAdd", true);注意: Internet Explorer 或 Opera 12 及其更早版本不支持第二個參數(shù)某筐。 |
7: 如何選中如下代碼所有的li元素? 如何選中btn元素冠跷?
選中所有 li 元素:
document.querySelectorAll('li')
選中 btn 元素:
document.getElementsByClassName('btn')