題目1: dom對象的innerText和innerHTML有什么區別?
innerHTML指的是從對象的起始位置到終止位置的全部內容,包括Html標簽。
innerText 指的是從起始位置到終止位置的內容,但它去除Html標簽。
同時,innerHTML 是所有瀏覽器都支持的,innerText 是IE瀏覽器和chrome 瀏覽器支持的,Firefox瀏覽器不支持。其實,innerHTML 是W3C 組織規定的屬性;而innerText 屬性是IE瀏覽器自己的屬性,不過后來的瀏覽器部分實現這個屬性罷了。
題目2: elem.children和elem.childNodes的區別?
childNodes:標準的,返回指定元素的子元素集合,包括HTML屬性,所有屬性,文本。可以通過nodeType來判斷是哪種類型的節點,只有當nodeType==1時才是元素節點,2是屬性節點,3是文本節點。
children:非標準的,它返回指定元素的子元素集合。經測試,它只返回HTML節點,甚至不返回文本節點。且在所有瀏覽器下表現驚人的一致。和childNodes 一樣,在Firefox下不支持()取集合元素。因此如果想獲取指定元素的第一個HTML節點,可以使用children[0]來替代上面的 getFirst函數。需注意children在IE中包含注釋節點。
題目3:查詢元素有幾種常見的方法?ES5的元素選擇方法是什么?
1.getElementById() 返回id對應的元素節點
2.getElementsByClassName() 返回相同class 元素節點的類數組對象
3.getElemetsByTagName() 返回相同標簽 元素節點的類數組對象
3.querySelector() 返回回匹配指定的CSS選擇器的元素節點
4.querySelectorAll() 返回匹配指定的CSS選擇器的所有節點,返回的是NodeList類型的對象
題目4:如何創建一個元素?如何給元素設置屬性?如何刪除屬性
createElement()方法用來生成HTML元素節點
createTextNode()方法用來生成文本節點
.id .className .style 來賦值
setAttribute("屬性","賦值") 來設置屬性
題目5:如何給頁面元素添加子元素?如何刪除頁面元素下的子元素?
頁面元素添加元素
appendChild()
在元素末尾添加元素
var newDiv = document.createElement("div");
var newContent = document.createTextNode("Hello");
newDiv.appendChild(newContent);
insertBefore()
在某個元素之前插入元素
var newDiv = document.createElement("div");
var newContent = document.createTextNode("Hello");
newDiv.insertBefore(newContent, newDiv.firstChild);
replaceChild()
replaceChild()接受兩個參數:要插入的元素和要替換的元素
newDiv.replaceChild(newElement, oldElement);
刪除元素
刪除元素使用removeChild()方法即可
parentNode.removeChild(childNode);
題目6: element.classList有哪些方法?如何判斷一個元素的 class 列表中是包含某個 class?如何添加一個class?如何刪除一個class?
element.classList.item()//index 可以返回class里面包含的class
element.classList.remove('')//刪除
element.classList.contains('')// 包含就是true / 沒有則返回flase
element.classList.toggle('')// 有則刪除返回false,沒有則加上返回true
題目7: 如何選中如下代碼所有的li元素? 如何選中btn元素?
<div class="mod-tabs">
<ul>
<li>list1<li>
<li>list2<li>
<li>list3<li>
</ul>
<button class="btn">點我</button>
</div>
選中li所有元素
var mod = document.querySelector('.mod-tabs ul');
var modc = mod.children;
選中btn元素
var btn = document.querySelector('.mod-tabs>.btn');