遍历DOM树,获取所有兄弟节点】的更多相关文章

DOM树由文档中的所有节点(元素节点.文本节点.注释节点等)所构成的一个树结构,DOM树的解析和构建是浏览器要实现的关键功能.既然DOM树是一个树结构,那么我们就可以使用遍历树结构的相关方法来对DOM树进行遍历,同时DOM2中的"Traversal"模块又提供了两种新的类型,从而可以很方便地实现DOM树的先序遍历. 注:本文中的5种方法都是对DOM的先序遍历方法(深度优先遍历),并且只关注Element类型. 1. 使用DOM1中的基础接口,递归遍历DOM树 DOM1中为基础类型Nod…
获取兄弟节点的常用方法有:  方法  说明 siblings()  选取所有兄弟节点 next()  选取后面兄弟节点 nextAll()  选取所有后面的兄弟节点 nextUntil()  选取所有后面的兄弟节点,但不包含后面指定的节点及指定节点的弟弟……. prev()  选取前面的兄弟节点 prevAll()  选取所有前面的兄弟节点 prevUntil()  选取所有前面的兄弟节点,但不包含后面指定的节点及指定节点的哥哥……. 获取所有兄弟节点 使用方法siblings() 示例: 1…
//获取页面中的根节点--根标签   var root=document.documentElement;//html   //函数遍历DOM树   //根据根节点,调用fn的函数,显示的是根节点的名字   function forDOM(root1) {   //调用f1,显示的是节点的名字   // f1(root1);   //获取根节点中所有的子节点   var children=root1.children;   //调用遍历所有子节点的函数   forChildren(childre…
一.浅拷贝: 拷贝就是复制,就相当于把一个对象中的所有内容,复制一份给另一个对象,直接复制, 或者说,就是把一个对象的地址给了另外一个对象,他们的指向相同,两个对象之间有相同的属性或者方法,都可以使用 <script> var obj1={ age:24, sex:"男", name:"Eric" } var obj2={}; //定义一个函数,把a对象中的所有属性复制到对象b中 function extend(a,b){ for(var key in…
遍历DOM树  第一个函数: 给我根节点, 我会找到所有的子节点: forDOM(根节点)  获取这个根节点的子节点  var children=根节点的.children  调用第二个函数  第二个函数: 给我所有的子节点, 我把每个子节点的名字显示出来(children)  for(var i=0;i<children.length;i++){    每个子节点    var child=children[i];    f1(child); 给我节点, 我显示该节点的名字    child是…
http://www.poluoluo.com/jzxy/201312/253059.html 在这个sprint中,因为要写前端UI,所以用到了jQuery,但是jQuery在向上遍历DOM树的API中,有parents(). parent().closest()这几个,一直不太清楚它们具体的区别,所以狠下心好好读了一下jQuery的API文档,并把区别记在这里,以供参考.  1.parents([selector]) 本方法用于选择给定jQuery对象中包含的DOM元素或者DOM元素集的祖先…
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible"…
遍历DOM在jQuery中是非常重要的技术. 遍历DOM之前,需要对DOM有清晰的认识,了解文档节点.元素节点.属性节点.文本节点等相关概念.不清楚可以温习下<JavaScript教程.DOM树> DOM树示意图:…
获取子节点的方法有:  方法  说明  children()  选取子节点,可以带过滤参数.但只能选择子节点,不能选择孙子节点.  find()  选取子节点,可以带过滤参数.可以选择子节点及孙子节点. children()示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 <!DOCTYPE html> <html>     <head>         <…
通过获取父节点,还可以获取父节点的父节点. 有3个常用方法: 方法  说明  parent()  选取父节点  parents()  选取所有父节点  parentsUntil("div")  选取所有父节点,但不包含后面指定的节点及指定节点的父级……. 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 <!DOCTYPE html> <html>    …
jQuery还提供以下方法来过滤节点.  方法  说明  first()  获取第一个,示例 $('li').last()  last()  获取最后一个,示例$('li').last()  eq()  获取指定索引的节点,索引从0开始,示例$('li').eq(1),获取第二个li  not()   不包含某些,示例$('li').not("#d")  filter()  包含某些, 示例$("li").filter("#d"),未包含的未选取…
本文参考 http://yangjunfeng.iteye.com/blog/401377 1. books.xml <?xml version="1.0" encoding="UTF-8"?> <bk:books count="3" xmlns:bk="http://test.org/books"> <!--books's comment --> <bk:book id="…
在<jQuery教程/理解选取更新范围>一节中,我们知道:当选择器返回了多个元素时,可以使用一个方法来更新所有的元素,不再需要使用循环. 然后有的时候需要遍历元素,怎么办? 使用each()方法可以遍历. 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 <!DOCTYPE html> <html>     <head>         <meta char…
1 常见的DOM树结构: 2  DOM数遍历有两种方式: 3 广度优先代码: 4 深度优先遍历代码…
<ul id="box"> <li>第一个节点</li> <li>第二个节点</li> <li>第三个节点</li> <li>第四个节点</li> </ul> var box = document.getElementById('box'); //标准浏览器(非IE6-8)中会把空格和换行当做文本节点处理 console.log(box.childNodes); //…
在JavaScript中,如果需求对多个元素重复进行同样的操作,就需要写一个循环来遍历选中的所有元素. 在jQuery中,当选择器返回了多个元素时,可以使用一个方法来更新所有的元素,不再需要使用循环. 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 <!DOCTYPE html> <html>     <head>         <meta charse…
如果需要在同一个选取结果上使用多个jQuery方法,可以同时列出这些方法,并用.隔开,如下面的代码. 1 $("#one").hide().delay(500).fadeIn(1500); 在这条语句中,在同一选择结果的元素上执行了三个方法: hide() 隐藏元素 delay() 创建暂停 fadeIn() 淡入元素 这种在同一选取结果上处理多个方法的技术,叫链接式操作. 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <!DOCTYPE…
转自:https://www.jb51.net/article/143286.htm 本文实例讲述了JS获取子节点.父节点和兄弟节点的方法.分享给大家供大家参考,具体如下: 一.js获取子节点的方式 1. 通过获取dom方式直接获取子节点 其中test的父标签id的值,div为标签的名字.getElementsByTagName是一个方法.返回的是一个数组.在访问的时候要按数组的形式访问. ? 1 var a = document.getElementById("test").getE…
比如一个ul里面有10个li,而第3个li上有特殊的样式(比如颜色为红色,其他为黑色).我想把其他所有li——不包括红的li——的颜色也设为红色,此时,就需要获得红li的所有兄弟节点. 兄弟,就是和你平辈的,既不是上一级也不是下一级,而且可能有比你大的(兄),也可能比你小(弟).兄弟节点同理,下面是一个常规的获取兄弟节点的办法. 代码如下 复制代码 function siblings(elm) { var a = []; var p = elm.parentNode.children; for(…
当客户端App主进程创建WKWebView对象时,会创建另外两个子进程:渲染进程与网络进程.主进程WKWebView发起请求时,先将请求转发给渲染进程,渲染进程再转发给网络进程,网络进程请求服务器.如果请求的是一个网页,网络进程会将服务器的响应数据HTML文件字符流吐给渲染进程.渲染进程拿到HTML文件字符流,首先要进行解析,将HTML文件字符流转换成DOM树,然后在DOM树的基础上,进行渲染操作,也就是布局.绘制.最后渲染进程将渲染数据吐给主进程WKWebView,WKWebView根据渲染数…
jQuery提供了多种遍历DOM的方法.遍历方法中最大的种类是树遍历. 向上遍历DOM树 parent():返回被选元素的直接父元素 parents():返回被选元素的所有祖先元素,它一直遍历到根元素(<html>) parentsUntil():返回介于两个元素之间的所有祖先元素.例$("span").parentsUntil("div"),返回介于<span>与<div>元素之间的所有祖先元素:如果不填写参数,则效果等同于pa…
一.抽象DOM树 使用过vue的朋友应该都知道,vue使用的是虚拟DOM,将DOM抽象成一个以JavaScript对象为节点的虚拟DOM树,以VNode节点模拟真实DOM,可以对这颗抽象树进行创建节点.删除节点以及修改节点等操作,在这过程中都不需要操作真实DOM,只需要操作JavaScript对象后只对差异修改.修改以后经过diff算法得出一些需要修改的最小单位,再将这些小单位的视图进行更新.这样做减少了很多不需要的DOM操作,大大提高了性能. 二.VNode节点及方法 源码位置:src/cor…
1.jQuery 遍历 - 祖先 向上遍历 DOM 树 这些 jQuery 方法很有用,它们用于向上遍历 DOM 树: parent() parents() parentsUntil() jQuery parent() 方法 parent() 方法返回被选元素的直接父元素. 该方法只会向上一级对 DOM 树进行遍历. 下面的例子返回每个 <span> 元素的的直接父元素: 实例 $(document).ready(function(){ $("span").parent()…
相信很多初学前端的小伙伴,学了html,css,js之后,欣喜之余还有一丝小傲娇,没有想到那些大佬们口中又 提到了DOM树.你两眼一抹黑,年轻人总是要接受社会的爱(du)护(da). DOM 是 Document Object Model(文档对象模型)的缩写. 为了那些被dom支配的日子,为了祖国的大好河山,为了下半辈子的幸福.... 所以我们来谈谈什么是dom. 举个例子 我们日常生活中,经常会遇到一些写文档的工作,写一个论文.docx,等等.我们可以改文本的字号,添加标题,增加内容,改变页…
childNodes遍历DOM节点树 var s = ""; function travel(space,node) { if(node.tagName){ s += space + node.tagName + "</br>" } var len = node.childNodes.length for (var i=0; i<len; i++){ travel(space+"--",node.childNodes[i]) }…
JavaScript---Dom树详解,节点查找方式(直接(id,class,tag),间接(父子,兄弟)),节点操作(增删改查,赋值节点,替换节点,),节点属性操作(增删改查),节点文本的操作(增删改查),事件 一丶DOM树       DOM:文档对象模型.DOM 为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构.目的其实就是为了能让js操作html元素而制定的一个规范.       DOM就是由节点组成的:HTML加载完毕,渲染引擎会在内存中把HTML文档,生成一个DOM树.如下…
一.前言:DOM树节点是JS的基础语句.通过节点,能够取到HTML代码中的任意标签,从而对其进行修改和添加各种视觉效果. 二.DOM树节点    DOM节点分为三大类: 元素节点,属性节点,文本节点     文本节点,属性节点属于元素节点的子节点.操作时,均需要先取到元素节点,再操作子节点:     可以使用getElement系列方法,取到元素节点 .      1.查看元素节点      getElementById: 通过ID取到唯一节点.如果id重名,则id只能取到第一个      ge…
关于原生JS获取节点,一直是个头疼的问题,而且调用方法的名字又贼长了,所以我选择用JQ,好像跑题了-- 话不多说看代码 获取父节点 及 父节点下所有子节点(兄弟节点) <ul> <li> <textarea>文本一</textarea> <input type=button value="复制" onclick="jsCopy(this)"> </li> <li><textar…
DOM是JS中专门操作HTML页面内容的 他的三种基本使用方法是: 1.  document.getElementById(''):  ——>选取html页面中带有Id的属性名: 2.document.getElementsByClassName(''): ——>选取html页面中属性名为class的内容: 3.document.getElementsByTagName(''"): ——>选取html页面中特指的标签属性. 在HTML中的每一个元素:元素,属性,文本都是一个节点…
1.easyui的树的根节点一般是几个平级的,怎样获取这些父节点的id? 可以将获取到的平级根节点放在一个数组中 var roots=[]; roots=$("#tree1").tree("getRoots",node.target); 这样得到的roots是一个包含了所有平级的根节点的数组 然后就可以遍历这个数组 for(var i=0;i<roots.length;i++){ roots[i].id } 2.怎样选择性地展示easyui树的一个根节点? 思…