題目1: dom對象的innerText和innerHTML有什么區(qū)別?###
innerText:返回元素包含的文本內(nèi)容苟穆,html內(nèi)容不會被解析
innerHTML:返回元素的HTML的結(jié)構(gòu),內(nèi)容以html的方式被解析
題目2: elem.children和elem.childNodes的區(qū)別栏妖?###
childNodes 屬性藕漱,標(biāo)準的,它返回指定元素的子元素集合攒驰,包括HTML節(jié)點,所有屬性故爵,文本
children 屬性玻粪,非標(biāo)準的,它返回指定元素的子元素集合诬垂。經(jīng)測試劲室,它只返回HTML節(jié)點,甚至不返回文本節(jié)點
題目3:查詢元素有幾種常見的方法结窘?ES5的元素選擇方法是什么?###
- getElementById 返回匹配指定ID屬性的元素節(jié)點很洋。
- getElementsByClassName 返回一個類似數(shù)組的對象(HTMLCollection類型的對象),包括了所有class名字符合指定條件的元素(搜索范圍包括本身)隧枫,元素的變化實時反映在返回結(jié)果中
- getElementsByTagName 返回所有指定標(biāo)簽的元素(搜索范圍包括本身)
- getElementsByName 用于選擇擁有name屬性的HTML元素喉磁,比如form、img官脓、frame协怒、embed和object,返回一個NodeList格式的對象卑笨,不會實時反映元素的變化孕暇。
ES5選擇方法:
- querySelector 返回匹配指定的CSS選擇器的元素節(jié)點。如果有多個節(jié)點滿足匹配條件,則返回第一個匹配的節(jié)點妖滔。如果沒有發(fā)現(xiàn)匹配的節(jié)點派草,則返回null
- querySelectorAll 返回匹配指定的CSS選擇器的所有節(jié)點,返回的是NodeList類型的對象铛楣。NodeList對象不是動態(tài)集合近迁,所以元素節(jié)點的變化無法實時反映在返回結(jié)果中。
題目4:如何創(chuàng)建一個元素簸州?如何給元素設(shè)置屬性鉴竭?如何刪除屬性###
createElement():用來生成 HTML 元素節(jié)點。
createTextNode():用來生成文本節(jié)點岸浑,參數(shù)為所要生成的文本節(jié)點的內(nèi)容搏存。
createDocumentFragment():生成一個 DocumentFragment 對象。
getAttribute():用于獲取元素的 attribute 值矢洲。
createAttribute():生成一個新的屬性對象節(jié)點璧眠,并返回它。
setAttribute():用于設(shè)置元素屬性读虏。
removeAttribute():用于刪除元素屬性责静。
題目5:如何給頁面元素添加子元素?如何刪除頁面元素下的子元素?###
appendChild():在元素末尾添加元素盖桥。
insertBefore():在某個元素之前插入元素灾螃。
replaceChild():替換指定元素。
removeChild():用來刪除元素揩徊。
題目6: element.classList有哪些方法腰鬼?如何判斷一個元素的 class 列表中是包含某個 class?如何添加一個class塑荒?如何刪除一個class?###
element.classList 屬性用于返回一個元素的 className 集合熄赡,并且該屬性擁有add,remove齿税,toggle彼硫,contains方法。
add():表示往類名列表中新增一個類名偎窘;如果之前類名存在乌助,則添加忽略溜在。
remove():表示往類名列表中移除該類名陌知。
toggle():若類名列表中有此類名,移除之掖肋,并返回 false仆葡;如果沒有,則添加該類名,并返回 true沿盅。
contains():表示往類名列表中是否包含該類名把篓。
題目7: 如何選中如下代碼所有的li元素? 如何選中btn元素腰涧?###
<div class="mod-tabs">
<ul>
<li>list1</li>
<li>list2</li>
<li>list3</li>
</ul>
<button class="btn">點我</button>
</div>
//方式1:
var liEle= document.getElementsByTagName('li');
console.log(liEle);
var btnEle = document.getElementsByClassName('btn');
console.log(btnEle);
//方式2:
var liEle = document.querySelectorAll('li');
console.log(liEle);
var btnEle = document.querySelector('.btn');
console.log(btnEle);