dom對象的innerText和innerHTML有什么區別?
- innerText返回的是元素內包含的文本內容,多層次時由淺到深排序拼接內容。
- innerHTML返回的是html文檔結構包括文本
elem.children和elem.childNodes的區別?
- elem.children返回的數據類型是(HTMLcollection)是元素的子元素集合,但不包括文本節點
-elem.childNodes返回的數據類型(NodeList)是元素的子元素集合,包括HTML節點,所有屬性,文本節點
查詢元素有幾種常見的方法?ES5的元素選擇方法是什么?
- document.getElementById() :匹配指定ID屬性的元素節點
- document.getElementsByClasName(): 方法返回一個類似數組的對象(HTMLCollection類型的對象),包括了所有class名字符合指定條件的元素
- document.getElementByTagName('')返回所有指定標簽的元素
- document.getElementByName('')方法用于選擇擁有name屬性的HTML元素
- es5方法
1.querySelector()方法返回匹配指定的CSS選擇器的元素節點,如document.querySelector(".myclass");
2.querySelectorAll方法返回匹配指定的CSS選擇器的所有節點
如何創建一個元素?如何給元素設置屬性?如何刪除屬性
var newElement = document.createElement('input');創建
newElement.setAttribute('name','user');設置
newElement.removeAttribute('name');刪除
如何給頁面元素添加子元素?如何刪除頁面元素下的子元素?
<ul>
<li></li>
<li></li>
</ul>
<script>
var ulnode = document.getElementsByTagName('ul')[0];
var li = document.createElement('li');
var context = document.createTextNode('hello');
li.appendChild(context);
ulnode.insertBefore(li,ulnode.firstChild);
</script>
//輸出 <ul>
<li>hello</li>
<li></li>
<li></li>
</ul>
刪除 ulnode.removeChild(li);
element.classList有哪些方法?如何判斷一個元素的 class 列表中是包含某個 class?如何添加一個class?如何刪除一個class?
使用contains方法返回一個布爾值判斷一個元素的class中是否包含某個class
添加add() 刪除remove()
如何選中如下代碼所有的li元素? 如何選中btn元素?
<div class="mod-tabs">
<ul>
<li>list1</li>
<li>list2</li>
<li>list3</li>
</ul>
<button class="btn">點我</button>
</div>
//document.querySelectorAll('.mod-tabs li')
//document.querySelector('.mod-tabs btn')