DOM操作

題目1: dom對象的innerText和innerHTML有什么區(qū)別?

  • innerText是一個可寫屬性,返回元素內(nèi)包含的文本內(nèi)容,在多層次的時候會按照元素由淺到深的順序拼接其內(nèi)容
  • innerHTML屬性作用和innerText類似,但是不是返回元素的文本內(nèi)容,而是返回元素的HTML結(jié)構(gòu),在寫入的時候也會自動構(gòu)建DOM

題目2: elem.children和elem.childNodes的區(qū)別?

  • elem.children 代表子元素列表(HTMLCollection)獲取的節(jié)點都是element元素
  • 代表子元素列表(NodeList)獲取的不僅包含element元素,還有文本、屬性、注釋等

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

document.getElementById() : 獲取對應(yīng)id的元素
document.getElementsByClassName() : 獲取對應(yīng)calss的所有元素
document.getElementsByTagName() : 獲取對應(yīng)標簽的所有元素
document.getElementsByName() : 獲取擁有name屬性的HMTL元素,比如form、img、frame、embed和object

ES5的元素選擇方法:
document.querySelector() : 匹配指定的CSS選擇器的第一個元素節(jié)點
document.querySelectorAll() : 匹配指定的CSS選擇器的所有元素節(jié)點

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

  • createElement()方法用來生成HTML元素節(jié)點。
    createElement方法的參數(shù)為元素的標簽名,即元素節(jié)點的tagName屬性。如果傳入大寫的標簽名,會被轉(zhuǎn)為小寫。如果參數(shù)帶有尖括號(即<和>)或者是null,會報錯。
var newDiv = document.createElement("div");
  • 設(shè)置元素屬性: element.setAttribute()
var node = document.getElementById("div1")
node.setAttribute("my_attrib", "newVal")
  • 刪除屬性: element.removeAttribute()
node.removeAttribute('id')

題目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);

刪除元素使用removeChild()方法即可

題目6: element.classList有哪些方法?如何判斷一個元素的 class 列表中是包含某個 class?如何添加一個class?如何刪除一個class?

方法 用途
element.classList.contains('ct') 判斷是否擁有某個class
element.classListadd('ct') 添加 class
element.classList.remove('ct') 刪除 class
element.classList.toggle('ct') 新增/刪除切換

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

<div class="mod-tabs">
   <ul>
       <li>list1</li>
       <li>list2</li>
       <li>list3</li>
   </ul>
   <button class="btn">點我</button>
</div>
var li = document.querySeletorAll(".mod-tabs li")
var btn = document.querySeletor(".mod-tabs .btn")
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 基本介紹 文檔對象模型 (DOM) 是HTML和XML文檔的編程接口。它給文檔(結(jié)構(gòu)樹)提供了一個結(jié)構(gòu)化的表述并且...
    草鞋弟閱讀 589評論 0 0
  • 題目1: dom對象的innerText和innerHTML有什么區(qū)別? innerText是一個可寫屬性,返回元...
    QQQQQCY閱讀 287評論 0 0
  • 題目1: dom對象的innerText和innerHTML有什么區(qū)別? innerText是一個可寫屬性,返回元...
    Taaaaaaaurus閱讀 271評論 0 1
  • dom對象的innerText和innerHTML有什么區(qū)別? innerText: innerText是一個可寫...
    YQY_苑閱讀 315評論 0 0
  • 題目1: dom對象的innerText和innerHTML有什么區(qū)別? innerText是一個可寫屬性,返回元...
    我七閱讀 501評論 0 0

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