2021-02-25 html 操作DOM相关的知识

1. previousSibling

  • 用法
    element.previousSibling
  • 注意
    previousSibling 属性返回同一树层级中指定节点的前一个节点。
    被返回的节点以 Node 对象的形式返回。
    注释:如果没有 previousSibling 节点,则返回值是 null。

2. appendChild

  • 用法
    element.appendChild(node)
  • 注意
    返回被添加的节点

3. attributes

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

4.className

  • 用法
    element.className=classname
  • 注意
    返回当前节点的class属性,string

5.cloneNode

  • 用法
    element.cloneNode(bool)
  • 注意
    cloneNode() 方法创建节点的拷贝,并返回该副本。
    cloneNode() 方法克隆所有属性以及它们的值。
    如果您需要克隆所有后代,请把 deep 参数设置 true,否则设置为 false。

6.className

  • 用法
    element. compareDocumentPosition(node)
var p1=document.getElementById("p1");
var p2=document.getElementById("p2");
p1.compareDocumentPosition(p2);
  • 注意
    compareDocumentPosition() 方法比较两个节点,并返回描述它们在文档中位置的整数。
    请看上面的例子。返回值可能是:
    1:没有关系,两个节点不属于同一个文档。
    2:第一节点(P1)位于第二个节点后(P2)。
    4:第一节点(P1)定位在第二节点(P2)前。
    8:第一节点(P1)位于第二节点内(P2)。
    16:第二节点(P2)位于第一节点内(P1)。
    32:没有关系,或是两个节点是同一元素的两个属性。
    注释:返回值可以是值的组合。例如,返回 20 意味着在 p2 在 p1 内部(16),并且 p1 在 p2 之前(4)。

7. contentEditable

  • 用法
    element.contentEditable=true|false
  • 注意
    contentEditable 属性设置或返回元素内容是否可编辑。
    提示:您也可以使用 isContentEditable 属性来查明元素内容是否可编辑。

8.dir

  • 用法
    element.dir=text-direction
  • 注意
    dir 属性设置或返回元素的文本方向

9. firstChild

  • 用法
    element. firstChild
  • 注意
    firstChild 属性返回指定节点的首个子节点,以 Node 对象。
    注释:在 HTML 中,文本本身是 HTML 元素的父节点,HEAD 和 BODY 是 HTML 元素的子节点。

10. getAttribute

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

11. getAttributeNode

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

12. getElementsByTagName

  • 用法
    element. getElementsByTagName(TagName)
  • 注意
    getElementsByTagName() 方法返回具有指定标签名的元素子元素集合,以 NodeList 对象。*返回所有元素

13. hasAttribute/hasAttributes

  • 用法
    element.hasAttribute(attrName) / element.hasAttributes()
  • 注意
    hasAttribute 如果存在指定属性,则 hasAttribute() 方法返回 true,否则返回 false。
    hasAttributes 如果指定节点拥有属性,则 hasAttributes() 方法返回 true,否则返回 false。

14. hasChildNodes

  • 用法
    element.hasChildNodes()
  • 注意
    hasChildNodes() 方法返回 true,如果指定节点拥有子节点,否则返回 false。

15. insertBefore

  • 用法
document.getElementById("myList").insertBefore(newItem,existingItem);
  • 注意
    insertBefore() 方法在您指定的已有子节点之前插入新的子节点。
    提示:如果您希望创建包含文本的新列表项,请记得创建文本节点形式的文本,以便追加到 LI 元素中,然后向列表插入这个 LI。
    您也可以使用 insertBefore 方法插入/移动已有元素。

16. isEqualNode

  • 用法
    element. isEqualNode(node)
  • 注意
    isEqualNode() 方法检查两个节点是否相等。
    如果下例条件为 true,则两个节点相等:
    节点类型相同
    拥有相同的 nodeName、NodeValue、localName、nameSpaceURI 以及前缀
    所有后代均为相同的子节点
    拥有相同的属性和属性值(属性次序不必一致)

17. isSameNode

  • 用法
    element. isSameNode(node)
  • 注意
    isSameNode() 方法检查两节点是否是相同的节点。
    isSameNode() 方法返回 true,如果两节点是相同的节点,否则返回 false。

18. lastChild

  • 用法
    element.lastChild
  • 注意
    lastChild 属性返回指定节点的最后一个子节点,以 Node 对象。

19. nextSibling

  • 用法
    element.nextSibling
  • 注意
    nextSibling 属性返回指定节点之后紧跟的节点,在相同的树层级中。
    被返回的节点以 Node 对象返回。
    注释:如果没有 nextSibling 节点,则返回值为 null。

20. nodeName

  • 用法
    element. nodeName
  • 注意
    nodeName 属性指定节点的节点名称。
    如果节点是元素节点,则 nodeName 属性返回标签名。
    入股节点是属性节点,则 nodeName 属性返回属性的名称。
    对于其他节点类型,nodeName 属性返回不同节点类型的不同名称。

21. normalize

  • 用法
    element.normalize()
  • 注意
    normalize() 方法移除空的文本节点,并连接相邻的文本节点。

22. parentNode

  • 用法
    element.parentNode
  • 注意
    parentNode 属性以 Node 对象的形式返回指定节点的父节点。
    如果指定节点没有父节点,则返回 null。

23. removeAttribute

  • 用法
    element.removeAttribute(name)
  • 注意
    removeAttribute() 方法删除指定的属性。
    此方法与 removeAttributeNode() 方法的差异是:removeAttributeNode() 方法删除指定的 Attr 对象,而此方法删除具有指定名称的属性。结果是相同的。同时此方法不返回值,而 removeAttributeNode() 方法返回被删除的属性,以 Attr 对象的形式。

24. removeChild

  • 用法
    element.removeChild(node)
  • 注意
    removeChild() 方法指定元素的某个指定的子节点。
    以 Node 对象返回被删除的节点,如果节点不存在则返回 null。

25. replaceChild

  • 用法
    element.replaceChild(newnode,oldnode);
  • 注意
    replaceChild() 方法用新节点替换某个子节点。
    这个新节点可以是文档中某个已存在的节点,或者您也可创建新的节点。

25. textContent

  • 用法
document.getElementsByTagName("BUTTON")[0].textContent;
  • 注意
    textContent 属性设置或返回指定节点的文本内容,以及它的所有后代。
    如果您设置了 textContent 属性,会删除所有子节点,并被替换为包含指定字符串的一个单独的文本节点。
    提示:有时,此属性可用于取代 nodeValue 属性,但是请记住此属性同时会返回所有子节点的文本。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,509评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,806评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,875评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,441评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,488评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,365评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,190评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,062评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,500评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,706评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,834评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,559评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,167评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,779评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,912评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,958评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,779评论 2 354

推荐阅读更多精彩内容