美文网首页
js Element和Node的区别

js Element和Node的区别

作者: timar | 来源:发表于2019-11-19 16:57 被阅读0次

    元素一定是节点,节点不一定是元素。
    Node包括Elemtnt/Text/Comment

    Element和Node的区别你造吗?
    DOM里面的Node对象和Element对象的区别

    Dom的标准规范中提供了Node对象,该对象主要提供了用于解析DOM节点树结构的属性和方法,DOM树结构主要是依靠节点进行解析,成为DOM节点树结构,Node对象是解析DOM节点树结构的主要入口,Node对象提供的属性和方法,可以实现遍历节点、插入节点等操作

    判断节点类型
    元素名.nodeName; - 得到标签名称(大写)
    元素名.nodeType; - 得到元素的类型
    元素名.nodeValue; - 得到元素的文本内容

    获取父节点
    节点名.parentNode; - 获取子节点的父节点
    节点名.parentElement; - 获取其父元素节点

    获取子节点
    节点名.childNodes; - 获取父节点下的所有子节点
    节点名.firstChild; - 获取父节点下第一个子节点
    节点名.lastChild; - 获取父节点下最后一个子节点

    获取相邻兄弟节点
    节点名.previousSibling; - 获取上一个兄弟元素
    节点名.nextSibling; - 获取下一个兄弟元素

    appendChild()方法
    父节点.appendChild(子节点); - 向父节点添加子节点,默认从最后面添加
    父节点.insertBefore(新创建的节点,页面中的旧节点); - 向父元素中的指定子节点在其前面添加

    删除节点
    父节点.removeChild(子节点); - 删除指定的子节点

    替换节点
    父节点.replaceChild(新的子节点,目标节点); - 可以替换掉父节点中被选中的目标子节点

    复制节点
    被复制的目标节点.cloneNode(true); - true为深度克隆,会将节点的所有东西克隆过去,false为非深度克隆,不会克隆文本,默认为false

    textContent属性
    节点.textContent; - 输出节点里面的文本内容

    Element对象
    DOM的标准规范中提供了Element对象,该对象提供了HTML页面中所有元素所具有的属性和方法,DOM标准规范中提供了Node对象,主要是依靠DOM节点树结构访问和更新HTML页面的内容。而DOM标准规范中提供了Element对象,主要是依靠DOM元素树结构访问和更新HTML页面内容,所有的HTML页面的元素都是HTMLElement对象,而这个对象又是继承于Element对象的

    获取子元素
    父元素.firstElementChild; - 获取父元素中第一个子元素
    父元素.lastElementChild; - 获取父元素中最后一个子元素

    获取相邻兄弟元素
    元素.previousElementSibling; - 获取元素的上一个兄弟元素
    元素.nextElementSibling; - 获取元素的下一个兄弟元素

    属性操作
    元素.getAttribute('属性名称'); - 获取指定元素的指定属性
    元素.setAttribute('属性名称','属性值') - 设置指定元素的属性名称以及属性值
    元素.removeAttribute('属性名称'); - 删除指定元素的属性
    元素.hasAttribute('属性名称'); - 判断指定元素指定属性是否存在,结果返回布尔值

    innerHTML属性
    元素.innerHTML; - 获取指定元素的HTML代码
    父元素.innerHTML=HTML代码; - 给父元素添加HTML代码,直接把html代码写在字符串中,但是这个方法具有安全问题

    相关文章

      网友评论

          本文标题:js Element和Node的区别

          本文链接:https://www.haomeiwen.com/subject/jyhgictx.html