1,dom對(duì)象的innerText和innerHTML有什么區(qū)別?
- innerText
innerText是一個(gè)可寫屬性,返回元素內(nèi)包含的文本內(nèi)容,在多層次的時(shí)候會(huì)按照元素由淺到深的順序拼接其內(nèi)容
<div>
<p>
123
<span>456</span>
</p>
</div>
外層div的innerText的返回內(nèi)容是"123456"
- innerHTML
innerHTML屬性作用和innerText屬性類似,但是不是返回元素的文本內(nèi)容,而是返回元素的HTML結(jié)構(gòu),在寫入的時(shí)候也會(huì)自動(dòng)構(gòu)建DOM
<div>
<p>
123
<span>456</span>
</p>
</div>
外層div的innerHTML的返回內(nèi)容是<p>123<span>456</span>></p>
2,elem.children和elem.childNodes的區(qū)別?
- elem.childNodes返回所有的子節(jié)點(diǎn),包括HTML元素,屬性,文本
- elem.children只返回HTML元素節(jié)點(diǎn)
3,查詢?cè)赜袔追N常見的方法?ES5的元素選擇方法是什么?
- getElementById()
- getElementByClassName()
- getElementsByTagName()
- getElementsByName()
ES5:
- querySelector()
- querySelectorAll()
4,如何創(chuàng)建一個(gè)元素?如何給元素設(shè)置屬性?如何刪除屬性
var ct = document.querySelector('#ct');
document.querySelectorAll("#ct .title");
var img = document.createElement('img');
img.setAttribute('src','http://wx1.sinaimg.cn/mw690/4abc2d1fgy1fim303kdwdj208m08cgly.jpg');
ct.appendChild(img);
img.getAttribute('src');
img.removeAttribute('src');
5,如何給頁(yè)面元素添加子元素?如何刪除頁(yè)面元素下的子元素?
var ct = document.querySelector('#ct');
var img = document.createElement('img');
var p = document.createElement('p');
ct.appendChild(img);
ct.appendChild(p);
ct.removeChild(img);
ct.removeChild(p);
6,element.classList有哪些方法?如何判斷一個(gè)元素的 class 列表中是包含某個(gè) class?如何添加一個(gè)class?如何刪除一個(gè)class?
<p class="title"></p>
var p = document.querySelector('.title');
console.log(p.classList); //["title"] 輸出一個(gè)數(shù)組,內(nèi)容為元素的class
p.classList.add('active'); // 給p元素增加一個(gè)叫active的類
p.classList.remove('active'); //刪除active類
p.classList.contains('active'); //判斷p元素是否有active這個(gè)類
7,如何選中如下代碼所有的li元素? 如何選中btn元素?
<div class="mod-tabs">
<ul>
<li>list1</li>
<li>list2</li>
<li>list3</li>
</ul>
<button class="btn">點(diǎn)我</button>
</div>
var allLi = document.querySelectorAll(".mod-tabs ul li");
var btn = document.querySelector('.btn');