document

  1. dom對(duì)象的innerText和innerHTML有什么區(qū)別?
innerText返回元素內(nèi)的的文本內(nèi)容,innerHTML返回元素內(nèi)容包括標(biāo)簽
  1. elem.children和elem.childNodes的區(qū)別?

childNodes是子節(jié)點(diǎn)列表集合(包括空白字符等非元素類型的節(jié)點(diǎn)如文本節(jié)點(diǎn)),children是只獲取元素類型的節(jié)點(diǎn),(但在IE中,children包含注釋節(jié)點(diǎn))。這樣通過(guò)數(shù)組的下標(biāo)更能精準(zhǔn)的訪問(wèn)每一個(gè)子節(jié)點(diǎn).

Snip20170403_8.png

3.查詢?cè)赜袔追N常見的方法?ES5的元素選擇方法是什么?
4種

getElementById() 匹配指定ID屬性的元素節(jié)點(diǎn)
getElementsByClassName() 匹配一個(gè)類似數(shù)組的對(duì)象(HTMLCollection類型的對(duì)象),包括了所有class名字符合指定條件的元素(搜索范圍包括本身)
getElementsByName() 用于選擇擁有name屬性的HTML元素,比如form、img、frame、embed和object,返回一個(gè)NodeList格式的對(duì)象,不會(huì)實(shí)時(shí)反映元素的變化。
getElementsByTagName() 匹配有指定標(biāo)簽的元素(搜索范圍包括本身)。返回值是一個(gè)HTMLCollection對(duì)象
ES5的方法:
querySelector() 匹配指定的CSS選擇器的元素節(jié)點(diǎn)。如果有多個(gè)節(jié)點(diǎn)滿足匹配條件,則返回第一個(gè)匹配的節(jié)點(diǎn)。
querySelectorAll() 匹配指定的CSS選擇器的所有節(jié)點(diǎn),返回的是NodeList類型的對(duì)象。
封裝一個(gè)選擇器函數(shù)
function $(str) {
if (str.length > 0 && str[0] === '#') {
return document.querySelector(str);
}else {
return document.querySelectorAll(str);
}
}

4.如何創(chuàng)建一個(gè)元素?如何給元素設(shè)置屬性?如何刪除屬性?

首先創(chuàng)建一個(gè)元素,document.createElement();
然后設(shè)置一個(gè)屬性,setAttribute(attributeName,attributeValue);
刪除一個(gè)屬性,removeAttribute(attributeName);

5.如何給頁(yè)面元素添加子元素?如何刪除頁(yè)面元素下的子元素?

appendChild()方法在元素末尾添加元素
removeChild()方法可用于刪除某元素下的子元素
insertBefore(newelem,oldelem)方法在某個(gè)元素之前插入元素
當(dāng)然這些是基于父級(jí)節(jié)點(diǎn)元素的應(yīng)用.

6.element.classList有哪些方法?如何判斷一個(gè)元素的 class 列表中是包含某個(gè) class?如何添加一個(gè)class?如何刪除一個(gè)class?
>>
classList這個(gè)屬性用于返回元素的類名,作為 DOMTokenList 對(duì)象,該屬性用于在元素中添加,移除及切換 CSS 類,classList 屬性是只讀的,但你可以使用 add() 和 remove() 方法修改它。
如何判斷一個(gè)元素的class是否包含某個(gè)class,classList.contains('xxx');
添加一個(gè),classList.add('');
如何刪除一個(gè),classList.remove('');
當(dāng)然還可以切換者用,classList.toggle('');
當(dāng)然還有,item()索引.

var ele = document.createElement('div');
ele.setAttribute('class','leftbar first');
ele.classList //['left','first']
ele.classList.add('float') //添加一個(gè)類
ele.classList.contains('leftbar') //是否包含leftbar返回true
ele.classList.remove('leftbar') //刪除類
ele.classList.toString() //將類數(shù)組對(duì)象轉(zhuǎn)為字符串
判斷class列表中是否包含某個(gè)class:利用contains方法。

7.如何選中如下代碼所有的li元素? 如何選中btn元素?

<div class="mod-tabs">
<ul>
<li>list1<li>
<li>list2<li>
<li>list3<li>
</ul>
<button class="btn">點(diǎn)我</btn>
</div>

var li = document.getElementsByTagName('li');
或者 var li = document.querySelectorAll('li'),
當(dāng)然這樣返回的是NodeList對(duì)象的一個(gè)實(shí)例。
var btn = document.getElementsByClassName('btn');
var btn = document.querySelector('.btn')

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、概述 document節(jié)點(diǎn)是整個(gè)文檔樹的頂層節(jié)點(diǎn),每張網(wǎng)頁(yè)都有自己的document節(jié)點(diǎn)。window.doc...
    周花花啊閱讀 1,423評(píng)論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評(píng)論 19 139
  • 獨(dú)上寒山望月 蟬聲依稀未斷 烈風(fēng)呼嘯而過(guò) 舉頭定睛而忘 暗風(fēng)穿月奔馳 思念帶去一份 淚水去而不返 只嘆明月故鄉(xiāng)
    化骨真人閱讀 269評(píng)論 0 3
  • 男孩!男孩! 文/巧云 二孩政策全面放開,同事小林的高...
    胡巧云閱讀 226評(píng)論 1 1
  • 本次操作環(huán)境為:ubuntu16.04 server版本 第一步,開啟BIOS中的CPU虛擬化支持 BIOS——>...
    cn華少閱讀 835評(píng)論 0 1

友情鏈接更多精彩內(nèi)容