jQuery next()方法的使用详解

调用 next() 方法的 jQuery 对象可以分为两种,一是单一的对象,二是对象的集合,下面分开说明:

jQuery 对象单一

假设以下 HTML 代码:

<div id="wrapper">
    <ul class="nav">
        <li>first line</li>
        <li>second line,将会被下面的 jQuery 语句选中并改变背景颜色</li>
        <li>third line</li>  
        <li>four line</li>     
    </ul>
</div>

CSS 语句为:

#wrapper li{  
    color:white;   
    background:#333;  
}

所用 jQuery 语句如下:

$("#wrapper li:first-child").next().css("background", "#0175cc");

使用 $("#wrapper li:first-child") 选择无序列表 ul 中的第一个列表项 li,此时 jQuery 对象单一,因此调用 next() 方法时,取得的是紧跟在它后面的那个同辈 (sibling) 元素,即第二个 li。点击下面的 jsfiddle 链接,运行示例,可以看到,第二个 li 元素的背景色现在已经改变。

示例1:jQuery next()

这样 nextAll() 方法的意思也很明确,它选定第一个 li 后的所有同辈元素。

示例2:jQuery nextAll()

jQuery 对象集合

另一段 HTML 代码:

<div id="wrapper">
   <ul class="nav">
        <li>first line</li>
        <li>second line</li>
        <li>third line</li>  
        <li>four line</li>          
    </ul>  
    <div>division after ul.nav as its sibling,</div>
    <ol>    
        <li>有序列表与 jquery prev()</li>    
        <li>有序列表与 jquery prevAll()</li>  
    </ol>
    <div id="jquery_next">
        <p>jquery next() 函数示例</p> 
    </div>
    <p>last sentence</p>
</div>

CSS 语句:

#wrapper li{  
    color:white;
    background:#333;
}

所用 jQuery 语句:

$("#wrapper div").next().css("font-size", "25px");

这里的 jQuery 语句 $("#wrapper div") 选中两个 div,一个紧跟在 ul.nav 后面,一个 id 为 jquery_next,它们是一个对象集合,因此,next() 方法将选中两个 jQuery 对象:第一个 div 后的 ol 序列,第二个 div 后的 p 段落,然后更改其字体大小。

示例3:jQuery展开收缩菜

脚本部分:

    <script type="text/javascript">
 $(function(){
     $('dt').toggle(function(){
   $(this).next().show();
  },function(){
   $(this).next().hide(); 
  } 
  ) 
 })
    </script>

html部分:

<dl>
    <dt>
        <a href="javasrcipt:void(0)">朝阳区</a>
    </dt>
    <dd style="display:none;">
        <ul>
            <li><a href="">大望路</a></li>
            <li><a href=""> 大望路</a></li>
            <li><a href="">大望路</a></li>
            <li><a href="">大望路</a></li>
            <li><a href=""> 大望路</a></li>
            <li><a href="">大望路</a></li>  
            <li><a href="">大望路</a></li>
            <li><a href=""> 大望路</a></li>
            <li><a href="">大望路</a></li>  
            <li><a href="">大望路</a></li>
            <li><a href=""> 大望路</a></li>
            <li><a href="">大望路</a></li>  
            <li><a href="">大望路</a></li>
            <li><a href=""> 大望路</a></li>
            <li><a href="">大望路</a></li>  
            <li><a href="">大望路</a></li>
            <li><a href=""> 大望路</a></li>
            <li><a href="">大望路</a></li>                                                                                                     
        </ul>    
    </dd>
</dl>

重点是.next()这个方法,取得一个包含匹配的元素集合中每一个元素紧邻的后面同辈元素的元素集合。这个函数只返回后面那个紧邻的同辈元素,而不是后面所有的同辈元素。可以用一个可选的表达式进行筛选

时间: 2024-09-20 07:27:26

jQuery next()方法的使用详解的相关文章

jQuery ready方法实现原理详解_jquery

今天闲来无事研究研究jQuery.ready()的内部实现,看JQ的源码一头雾水,由于自己很菜了,于是翻了翻牛人的播客,讲述详细,收获颇多. 先普及一下jquery.ready()和window.onload,window.onload事件是在页面所有的资源都加载完毕后触发的. 如果页面上有大图片等资源响应缓慢, 会导致window.onload事件迟迟无法触发.所以出现了DOM Ready事件. 此事件在DOM文档结构准备完毕后触发, 即在资源加载前触发.  jQuery中的ready方法实现

jquery.map()方法的使用详解_jquery

原型方法map跟each类似调用的是同名静态方法,只不过返回来的数据必须经过另一个原型方法pushStack方法处理之后才返回,源码如下: map: function( callback ) { return this.pushStack( jQuery.map(this, function( elem, i ) { return callback.call( elem, i, elem ); })); }, 本文主要就是分析静态map方法至于pushStack在下一篇随笔里面分析: 首先了解下

Jquery基础之事件操作详解_jquery

事件是用户操作时页面或页面加载时引发的用来完成javascript和HTML之间的交互操作.常见的元素点击事件.鼠标事件.键盘输入事件等,较传Javascript 相比JQuery增加并扩展了基本的事件处理机制,极大的增强了事件处理的能力. 一.DOM加载事件 页面加载完毕后浏览器会通过javascript为Dom元素加载事件,使用Javascript时候使用的是window.onload方法,而Jquery使用的是$(document).ready()方法,下表 展示两个事件的异同. wind

jQuery操作属性和样式详解_jquery

• 区分 DOM 属性和元素属性 <img src="images/image.1.jpg" id="hibiscus" alt="Hibiscus" class="classA" /> 通常开发人员习惯将id,src,alt等叫做这个元素的"属性".我们将其称为"元素属性".但是在解析成 DOM 对象时,实际浏览器最后会将标签元素解析成"DOM 对象",

jquery 实现轮播图详解及实例代码_jquery

轮播图: 接触jquery也有一段时间了,今天刚好利用轮播图来练练手.博文的前面会介绍一个简单用jquery做轮播图的例子,中间会插入一些关于轮播图更多的思考,在后面会用Javascript的方法来写一个轮播图,最后则是关于jquery和Javascript的比较.轮播图的效果可以点击如下链接查看:http://sandbox.runjs.cn/show/t07kscph jquery做轮播图的例子: html部分代码: <!DOCTYPE html> <html> <hea

jquery属性,遍历,HTML操作方法详解_jquery

Jquery属性遍历.HTML操作. Jquery拥有可操作HTML元素和属性的强大方法. 下面是我整理的一些jquery遍历函数: .add() 将元素添加到匹配元素的集合中. .andSelf() 把堆栈中之前的元素集添加到当前集合中. .children() 获得匹配元素集合中每个元素的所有子元素. .closest() 从元素本身开始,逐级向上级元素匹配,并返回最先匹配的祖先元素. .contents() 获得匹配元素集合中每个元素的子元素,包括文本和注释节点. .each() 对 jQ

jQuery AJAX timeout 超时问题详解_jquery

先给大家分析下超时原因: 1.网络不通畅. 2.后台运行比较慢(服务器第一次运行时,容易出现) 超时结果:JQ中 timeout设置请求超时时间. 如果服务器响应时间超过了 设置的时间,则进入 ERROR (错误处理) 超时解决方案: 1.默认的timeout为0,代表永不超时 2.尽量把timeout设置的大一点.坏处:使数据的加载变慢(貌似.呵呵). 3.在ERROR回调函数中写 有关于 超时 处理 的函数:例如,可以在超时的情况下再次调用取数据函数. -------------------

jQuery fadeOut 异步实例代码详解_jquery

定义和用法 fadeOut() 方法逐渐改变被选元素的不透明度,从可见到隐藏(褪色效果). 注释:隐藏的元素不会被完全显示(不再影响页面的布局). 提示:该方法通常与 fadeIn() 方法一起使用. 语法 $(selector).fadeOut(speed,easing,callback) 1. 概述 jquery实现动画效果的函数使用起来很方便,不过动画执行是异步的,所以要把自定义的操作放在回调函数里. 2. example <html> <body> <table id

JavaScript中reduce()方法的使用详解

  这篇文章主要介绍了JavaScript中reduce()方法的使用详解,是JS入门学习中的基础知识,需要的朋友可以参考下 JavaScript 数组reduce()方法同时应用一个函数针对数组的两个值(从左到右),以减至一个值. 语法 ? 1 array.reduce(callback[, initialValue]); 下面是参数的详细信息: callback : 函数执行在数组中每个值 initialValue : 对象作为第一个参数回调的第一次调用使用 返回值: 返回数组的减少单一个值