2021-02-25 html 操作DOM相關(guān)的知識

1. previousSibling

  • 用法
    element.previousSibling
  • 注意
    previousSibling 屬性返回同一樹層級中指定節(jié)點的前一個節(jié)點。
    被返回的節(jié)點以 Node 對象的形式返回。
    注釋:如果沒有 previousSibling 節(jié)點,則返回值是 null。

2. appendChild

  • 用法
    element.appendChild(node)
  • 注意
    返回被添加的節(jié)點

3. attributes

  • 用法
    element.attributes
  • 注意
    attributes 屬性返回指定節(jié)點的屬性集合,即 NamedNodeMap。
<button id="myBtn" onclick="myFunction()">試一下</button>
截屏2021-02-25 下午9.24.28.png

4.className

  • 用法
    element.className=classname
  • 注意
    返回當(dāng)前節(jié)點的class屬性,string

5.cloneNode

  • 用法
    element.cloneNode(bool)
  • 注意
    cloneNode() 方法創(chuàng)建節(jié)點的拷貝,并返回該副本。
    cloneNode() 方法克隆所有屬性以及它們的值。
    如果您需要克隆所有后代,請把 deep 參數(shù)設(shè)置 true,否則設(shè)置為 false。

6.className

  • 用法
    element. compareDocumentPosition(node)
var p1=document.getElementById("p1");
var p2=document.getElementById("p2");
p1.compareDocumentPosition(p2);
  • 注意
    compareDocumentPosition() 方法比較兩個節(jié)點,并返回描述它們在文檔中位置的整數(shù)。
    請看上面的例子。返回值可能是:
    1:沒有關(guān)系,兩個節(jié)點不屬于同一個文檔。
    2:第一節(jié)點(P1)位于第二個節(jié)點后(P2)。
    4:第一節(jié)點(P1)定位在第二節(jié)點(P2)前。
    8:第一節(jié)點(P1)位于第二節(jié)點內(nèi)(P2)。
    16:第二節(jié)點(P2)位于第一節(jié)點內(nèi)(P1)。
    32:沒有關(guān)系,或是兩個節(jié)點是同一元素的兩個屬性。
    注釋:返回值可以是值的組合。例如,返回 20 意味著在 p2 在 p1 內(nèi)部(16),并且 p1 在 p2 之前(4)。

7. contentEditable

  • 用法
    element.contentEditable=true|false
  • 注意
    contentEditable 屬性設(shè)置或返回元素內(nèi)容是否可編輯。
    提示:您也可以使用 isContentEditable 屬性來查明元素內(nèi)容是否可編輯。

8.dir

  • 用法
    element.dir=text-direction
  • 注意
    dir 屬性設(shè)置或返回元素的文本方向

9. firstChild

  • 用法
    element. firstChild
  • 注意
    firstChild 屬性返回指定節(jié)點的首個子節(jié)點,以 Node 對象。
    注釋:在 HTML 中,文本本身是 HTML 元素的父節(jié)點,HEAD 和 BODY 是 HTML 元素的子節(jié)點。

10. getAttribute

  • 用法
    element.getAttribute(attrName)
  • 注意
    getAttribute() 方法返回指定屬性名的屬性值。

11. getAttributeNode

  • 用法
document.getElementsByTagName("a")[0].getAttributeNode("target");

12. getElementsByTagName

  • 用法
    element. getElementsByTagName(TagName)
  • 注意
    getElementsByTagName() 方法返回具有指定標(biāo)簽名的元素子元素集合,以 NodeList 對象。*返回所有元素

13. hasAttribute/hasAttributes

  • 用法
    element.hasAttribute(attrName) / element.hasAttributes()
  • 注意
    hasAttribute 如果存在指定屬性,則 hasAttribute() 方法返回 true,否則返回 false。
    hasAttributes 如果指定節(jié)點擁有屬性,則 hasAttributes() 方法返回 true,否則返回 false。

14. hasChildNodes

  • 用法
    element.hasChildNodes()
  • 注意
    hasChildNodes() 方法返回 true,如果指定節(jié)點擁有子節(jié)點,否則返回 false。

15. insertBefore

  • 用法
document.getElementById("myList").insertBefore(newItem,existingItem);
  • 注意
    insertBefore() 方法在您指定的已有子節(jié)點之前插入新的子節(jié)點。
    提示:如果您希望創(chuàng)建包含文本的新列表項,請記得創(chuàng)建文本節(jié)點形式的文本,以便追加到 LI 元素中,然后向列表插入這個 LI。
    您也可以使用 insertBefore 方法插入/移動已有元素。

16. isEqualNode

  • 用法
    element. isEqualNode(node)
  • 注意
    isEqualNode() 方法檢查兩個節(jié)點是否相等。
    如果下例條件為 true,則兩個節(jié)點相等:
    節(jié)點類型相同
    擁有相同的 nodeName、NodeValue、localName、nameSpaceURI 以及前綴
    所有后代均為相同的子節(jié)點
    擁有相同的屬性和屬性值(屬性次序不必一致)

17. isSameNode

  • 用法
    element. isSameNode(node)
  • 注意
    isSameNode() 方法檢查兩節(jié)點是否是相同的節(jié)點。
    isSameNode() 方法返回 true,如果兩節(jié)點是相同的節(jié)點,否則返回 false。

18. lastChild

  • 用法
    element.lastChild
  • 注意
    lastChild 屬性返回指定節(jié)點的最后一個子節(jié)點,以 Node 對象。

19. nextSibling

  • 用法
    element.nextSibling
  • 注意
    nextSibling 屬性返回指定節(jié)點之后緊跟的節(jié)點,在相同的樹層級中。
    被返回的節(jié)點以 Node 對象返回。
    注釋:如果沒有 nextSibling 節(jié)點,則返回值為 null。

20. nodeName

  • 用法
    element. nodeName
  • 注意
    nodeName 屬性指定節(jié)點的節(jié)點名稱。
    如果節(jié)點是元素節(jié)點,則 nodeName 屬性返回標(biāo)簽名。
    入股節(jié)點是屬性節(jié)點,則 nodeName 屬性返回屬性的名稱。
    對于其他節(jié)點類型,nodeName 屬性返回不同節(jié)點類型的不同名稱。

21. normalize

  • 用法
    element.normalize()
  • 注意
    normalize() 方法移除空的文本節(jié)點,并連接相鄰的文本節(jié)點。

22. parentNode

  • 用法
    element.parentNode
  • 注意
    parentNode 屬性以 Node 對象的形式返回指定節(jié)點的父節(jié)點。
    如果指定節(jié)點沒有父節(jié)點,則返回 null。

23. removeAttribute

  • 用法
    element.removeAttribute(name)
  • 注意
    removeAttribute() 方法刪除指定的屬性。
    此方法與 removeAttributeNode() 方法的差異是:removeAttributeNode() 方法刪除指定的 Attr 對象,而此方法刪除具有指定名稱的屬性。結(jié)果是相同的。同時此方法不返回值,而 removeAttributeNode() 方法返回被刪除的屬性,以 Attr 對象的形式。

24. removeChild

  • 用法
    element.removeChild(node)
  • 注意
    removeChild() 方法指定元素的某個指定的子節(jié)點。
    以 Node 對象返回被刪除的節(jié)點,如果節(jié)點不存在則返回 null。

25. replaceChild

  • 用法
    element.replaceChild(newnode,oldnode);
  • 注意
    replaceChild() 方法用新節(jié)點替換某個子節(jié)點。
    這個新節(jié)點可以是文檔中某個已存在的節(jié)點,或者您也可創(chuàng)建新的節(jié)點。

25. textContent

  • 用法
document.getElementsByTagName("BUTTON")[0].textContent;
  • 注意
    textContent 屬性設(shè)置或返回指定節(jié)點的文本內(nèi)容,以及它的所有后代。
    如果您設(shè)置了 textContent 屬性,會刪除所有子節(jié)點,并被替換為包含指定字符串的一個單獨(dú)的文本節(jié)點。
    提示:有時,此屬性可用于取代 nodeValue 屬性,但是請記住此屬性同時會返回所有子節(jié)點的文本。
?著作權(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)容

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