document

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

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

Snip20170403_8.png

3.查詢元素有幾種常見的方法?ES5的元素選擇方法是什么?
4種

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

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

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

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

appendChild()方法在元素末尾添加元素
removeChild()方法可用于刪除某元素下的子元素
insertBefore(newelem,oldelem)方法在某個元素之前插入元素
當然這些是基于父級節(jié)點元素的應用.

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

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

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

<div class="mod-tabs">
<ul>
<li>list1<li>
<li>list2<li>
<li>list3<li>
</ul>
<button class="btn">點我</btn>
</div>

var li = document.getElementsByTagName('li');
或者 var li = document.querySelectorAll('li'),
當然這樣返回的是NodeList對象的一個實例。
var btn = document.getElementsByClassName('btn');
var btn = document.querySelector('.btn')

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容