DOM节点遍历

在jQuery中,遍历节点的方法也有很多,接下来我们通过下面的dom结构依次操作这些方法的异同。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript" src="jquery-3.2.1.js"></script>
</head>
<body>
    <p title="选择你最喜欢的水果">你最喜欢的水果是?</p>
    <ul>
        <li title=‘苹果‘>苹果</li>
        <li title=‘香蕉‘><span>香蕉</span></li>
        <li title=‘荔枝‘>荔枝</li>
    </ul>
</body>
</html>

children()

该方法用于获取匹配元素的子元素集合,需要注意的是,该方法只考虑子元素而不考虑其他后代元素。

<script>
        var $body = $("body").children();
        var $p = $("p").children();
        var $ul = $("ul").children();
        console.log($body.length);
        console.log($p.length);
        console.log($ul);
        for(var i=0,len=$ul.length;i<len;i++){
            console.log($ul[i].innerHTML);
        }
</script>

next()

next()方法用于取得匹配元素后面紧邻的同辈元素。

<script>

  var $p1 = $("p").next();

  console.log($p1);

  console.log($p1[0].innerHTML);

</script>

prev()

该方法用于取得匹配元素前面紧邻的同辈元素。

<script>
        var $u1 = $("ul").prev();
        console.log($u1);
       console.log($u1[0].innerHTML);
</script>

siblings()

在前面我们有提到过这个方法,该方法能够匹配元素前后所有的同辈元素。

<script>
      var $li = $("ul li:eq(1)").siblings();
      console.log($li);
      console.log($li[0].innerHTML);
      console.log($li[1].innerText);
</script>

closest()

该方法用于取得最近的匹配元素,首先检查当前元素是否匹配,如果匹配则直接返回元素本身,如果不匹配则向上查找父元素,逐级向上直到找到匹配的元素,如果什么都没找到,则返回一个空的对象。

<script>
       $("p").closest("li").css("color","red");
       $("span").closest("li").css("color","blue");
</script>

在jQuery中,还有两个类似的方法:parent()和parents(),下面通过一张图来简单区分一下这三个方法。

原文地址:https://www.cnblogs.com/yuyujuan/p/9425248.html

时间: 2024-10-08 17:31:34

DOM节点遍历的相关文章

由莫名其妙的错误开始---浅谈jquery的dom节点创建

有一个字符串是这样的:var s = '<html lang="en" class="js no-touch discourse-no-touch">'+ '<head><meta name="csrf-token" content="Oul7WqVh4FBVse2yGeY8ZkqoN5/9/2ImxohJvUYEJYc="/></head><body></bo

深度优先遍历DOM节点

深度优先遍历的特点就是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次. <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>HTML DOM的节点遍历</title> <script type="t

JS遍历DOM 节点树的实现

本文将分享 DOM 节点树深度遍历.广度遍历代码. 假定我仅遍历 body 且其结构如下: <body> <section class="container"> <div class="left"> <div class="menu"></div> </div> <div class="right"> <div class="b

访问DOM节点

我们来个例子,一个HTML里包含一段文本和一个无序的列表. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head&

javascript-DOM 基本概念及DOM节点

一:属性和方法 属性:是节点(HTML 元素)的值,您能够获取或设置(比如节点的名称或内容). 方法:是我们可以在节点(HTML 元素)上执行的动作.(比如添加或修改元素). 二:HTML DOM 定义: DOM(Document Object Model):文档模型, HTML DOM 定义了所有 HTML 元素的对象和属性,以及访问它们的方法. HTML DOM 是关于如何获取.修改.添加或删除 HTML 元素的标准. 在js中通过document这个对象提供的方法 三:HTML DOM 节

DOM节点——JS总结

DOM节点--JS总结 节点包括三种:属性节点.元素节点.文本节点 HTML内容: <div id = 'box' style = "color:red">测试Div<em>倾斜</em>结尾</div> JavaScript内容: (一)属性节点 1.父节点: window.onload = function(){ var box = document.getElementById('box'); //获取属性节点,如'[object

js的DOM节点访问与操作

1.访问DOM节点 1.1 按id取元素:getElememtByld("标签的id") 1.2 按标签名取元素集:getElementsByTagName()返回一个对象数组 2.操作元素内的文本 2.1 简单的方法是innerText(),但是FireFox浏览器不兼容. function text(e){ var t=""; //如果传入的是元素,则继续遍历其元素 //否则假定它是一个数组 e=e.childNodes || e; //遍历所有字节点 for(

节点遍历

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <style type ="text/css"&

js中DOM 节点的一些操作方法

什么是DOM DOM:文档对象模型.DOM 为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构.目的其实就是为了能让js操作html元素而制定的一个规范. DOM就是由节点组成的. 解析过程 HTML加载完毕,渲染引擎会在内存中把HTML文档,生成一个DOM树,getElementById是获取内中DOM上的元素节点.然后操作的时候修改的是该元素的属性. DOM树(一切都是节点) DOM的数据结构如下: 上图可知,在HTML当中,一切都是节点:(非常重要) 元素节点:HMTL标签. 文本