• js之DOM学习


     常见节点类型:

    <a href="">点击我</a>

    元素节点:就是我们说的标签  eg:<a>

    属性节点:a 标签里面的href 属性

    文本节点:  点击我

    常用方法和属性:

    方法:

    得到节点集中方法:

      通过ID     得到一个节点

      通过name   得到一个节点集合

      通过标签名tagName 得到一个节点集合

    方法描述
    getElementById() 返回带有指定 ID 的元素。
    getElementsByTagName() 返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。
    getElementsByClassName() 返回包含带有指定类名的所有元素的节点列表。
    appendChild() 把新的子节点添加到指定节点。(指定节点末尾,即添加为最后一个孩子)
    removeChild() 删除子节点。
    replaceChild() 替换子节点。
    insertBefore() 在指定的子节点前面插入新的子节点。
    createAttribute() 创建属性节点。
    createElement() 创建元素节点。
    createTextNode() 创建文本节点。
    getAttribute() 返回指定的属性值。
    setAttribute() 把指定属性设置或修改为指定的值。

    属性

    • nodeType——节点类型,元素节点是1,文本节点是3
    • nodeValue——节点值,元素节点为空,文本节点的nodeValue属性即为文本内容
    • firstChild——该元素节点包含的第一个子节点
    • lastChild——该元素节点包含的最后一个子节点
    • nextSibling——该节点的后一个兄弟节点
    • previousSibling——该节点的前一个兄弟节点
    • childNodes——子节点列表,可以通过node.childNodes[index](或node.childNodes.item(index))来获取子节点
    • nodeName——节点名称,对于元素节点,返回tagName,对于文本,则返回#text

    注意点:

      1 style  border-bottom 应该写成borderBottom

      2 不同浏览器在判断何为Text节点上存在一些差异。某些浏览器,如Mozilla,认为元素之间的空白(包括换行符)都是Text节点;而另一些浏览器,如IE,会全部忽略这些空白!!

    var de = document.documentElement; var head = de.firstChild;//html下面第一个元素,可能是head var body = de.lastChild;//html下面最后一个元素,可能是body

    答案并不确定,但是仍然有办法解决——使用节点类型检测,每个节点都有nodeType属性,指明它的节点类型。对于元素节点,它的值是1,而对于文本节点,它的值是3

      var de = document.documentElement;

      var head = de.firstChild.nodeType==1?de.firstChild:de.firstChild.nextSibling;

      var body = de.lastChild.nodeType==1?de.lastChild:de.lastChild.previousSibling;]

      //还可以使用childNodes var de = document.documentElement;

      var head = de.childNodes[0].nodeType==1?de.childNodes[0]:de.childNodes[0].nextSibling;

      var head = de.childNodes[1].nodeType==1?de.childNodes[1]:de.childNodes[1].previousSibling;

     

     

    汤姆大叔:http://www.cnblogs.com/TomXu/archive/2012/02/16/2351331.html

    W3c: http://www.w3school.com.cn/htmldom/index.asp

    伯乐在线:http://web.jobbole.com/84364/

  • 相关阅读:
    人工智能理解
    24个提高你的知识和技能极限的数据科学(机器学习)项目(免费)
    5个优秀的计算机视觉应用与相关数据集
    5行代码使Scikit-Learn参数学习速度提高5倍
    如何在PyTorch和TensorFlow中训练图像分类模型
    六个月的机器学习 / 计算机视觉工程师
    NLP:不要重新造轮子
    用遗传算法优化垃圾收集策略
    使用Detectron2分6步进行目标检测
    五篇值得阅读的ECCV 2020 图像识别相关论文
  • 原文地址:https://www.cnblogs.com/djlxs/p/5006712.html
Copyright © 2020-2023  润新知