美文网首页
javascript之DOM节点

javascript之DOM节点

作者: IT小池 | 来源:发表于2019-01-15 10:12 被阅读0次

javascript之DOM节点详细剖析,以下列出的基本是最常用的

childNodes
//注释节点不会被解析
//在主流浏览器里获取对象下的所有节点(包括 文本节点/元素节点),
//在IE8及以下浏览器里会忽略掉文本节点,只会返回元素节点(标签节点)
var box = document.getElementById("box");
alert(box.childNodes.length)
children
推荐使用
//只会返回对象下的所有的元素节点
//没有兼容性问题
var box = document.getElementById("box");
alert(box.children.length)
getAttributeNode
//属性节点,获取当前元素的属性的值。
var box = document.getElementById("box");
alert(box.getAttributeNode('id').nodeValue);// box
nodeType
//返回节点类型  元素节点类型(1) ,文本节点类型(3)
var box = document.getElementById("box");
alert(box.children[0].nodeType)//返回1
firstChild
//返回对象下的第一个子节点(可能文本节点或元素节点)
//主流浏览器可能文本节点或元素节点
//IE678下会返回元素节点
var box = document.getElementById("box");
alert(box.firstChild)
lastChild
//返回对象下的最后一个子节点(可能文本节点或元素节点)
//主流浏览器可能文本节点或元素节点
//IE678下会返回元素节点
var box = document.getElementById("box");
alert(box.lastChild)
firstElementChild
//返回对象下的第一个子元素节点
//IE678不支持
var box = document.getElementById("box");
alert(box.firstElementChild)
lastElementChild
//返回对象下的最后一个子元素节点
//IE678不支持
var box = document.getElementById("box");
alert(box.lastElementChild)
nextSibling
//返回对象的下一个节点
//主流浏览器可能文本节点或元素节点
//IE678下会返回元素节点,如果没有就返回null
var box = document.getElementById("box");
alert(box.nextSibling)
previousSibling
//返回对象的上一个节点
//主流浏览器可能文本节点或元素节点
//IE678下会返回元素节点,如果没有就返回null
var box = document.getElementById("box");
alert(box.previousSibling)
nextElementSibling
//返回对象的上一个元素节点
//主流浏览器返回上一个元素节点
//不兼容IE678,会返回undefined 
var box = document.getElementById("box");
alert(box.nextElementSibling)
previousElementSibling
//返回对象的下一个元素节点
//主流浏览器返回下一个元素节点
//不兼容IE678,会返回undefined 
var box = document.getElementById("box");
alert(box.previousElementSibling)
parentNode
//返回元素的父节点
//没有兼容问题 
var box = document.getElementById("box");
alert(box.parentNode)
offsetParent
//找到元素的定位父级
//没有兼容问题
var box = document.getElementById("box");
alert(box.offsetParent)

常用获取对象到文档的值

function getoffset(obj) {
     var json = {
               left:0,
               top:0
      };
     while(obj !== document.body){
            json.left += obj.offsetLeft;
            json.top += obj.offsetTop;
            obj = obj.offsetParent;
     };
     return json;
 }
insertBefore
//把新建的p放到已经存在的box的前面(参数2个必须) 
var box = document.getElementById("box");
var op = document.createElement("p");
box.insertBefore(op,box)
cloneNode()
//复制节点
var box = document.getElementById("box");
var obj = box.cloneNode();
alert(obj.tagName)

深度复制(cloneNode(true))

//深度复制,连行内样式的属性/事件也一起复制(必须是行内的才能复制下来)
var box = document.getElementById("box");
var obj = box.cloneNode(true);
alert(obj.tagName)
removeChild
//通过父级来删除自己
//仅仅是把这个对象移除了HTML页面,他还会保存在JS里
var box = document.getElementById("box");
box.parentNode.removeChild(box);
box1.parentNode.appendChild(box)//通过兄弟元素box1找到父级,还能把被removeChild(box)被移除的box添加进去
nodeName
//返回的标签名是大写
var box = document.getElementById("box");
if (box.nodeName ==="DIV") {
      alert(1)
}或者用正则匹配
if (/DIV/i.test(box.nodeName)) {// i 在正则里是忽略大小写
      alert(1)
}

相关文章

  • DOM (javascript DOM节点操作)

    DOM (javascript DOM节点操作) 本节目录 查找DOM元素 DOM节点操作 javascript操...

  • 前端面试题总结(算法)

    javascript递归遍历所有DOM文档节点 javascript递归遍历所有DOM文档节点 HTTP 方法:G...

  • javascript之DOM节点

    javascript之DOM节点详细剖析,以下列出的基本是最常用的 childNodes children get...

  • JavaScript基础与DOM

    JavaScript基础与DOM 键盘按下与松开 图片轮播 xml Dom 节点信息: 每个节点都有包含关于节点某...

  • jQuery-DOM篇

    DOM创建节点及节点属性 通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作。但实际上...

  • 【前端】-029-DOM编程-节点操作

    节点的属性 节点操作 除了通过DOM树中的父子、兄弟关系获取节点外,还可以通过 JavaScript 中的DOM接...

  • JavaScript DOM常用操作

    JavaScript的DOM操作主要包括: 更新:更新该DOM节点的内容,相当于更新了该DOM节点表示的HTML的...

  • 一篇文章教会你如何将DOM转换为virtual DOM

    【一、Virtual DOM简介】 Virtual DOM是虚拟节点,它通过Javascript的Object对象...

  • DOM 重点核心

    文档对象类型:DOM1,对于JavaScript ,dom接口2,对于Html, dom 树包括文档,元素,节点...

  • jQuery基础——DOM篇

    第1章 简介 第2章 DOM节点的创建 2-1 DOM创建节点及节点属性 通过JavaScript可以很方便的获...

网友评论

      本文标题:javascript之DOM节点

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