使用jquery选择器如何获取父级元素、同级元素、子元素


Posted in Javascript onMay 14, 2014

一、获取父级元素

1、 parent([expr]):

获取指定元素的所有父级元素

<div id="par_div"><a id="href_fir" href="#">href_fir</a> 
<a id="href_sec" href="#">href_sec</a> 
<a id="href_thr" href="#">href_thr</a></div> 
<span id="par_span"> 
<a id="href_fiv" href="#">href_fiv</a> 
</span> 
$(document).ready(function(){ 
$("a").parent().addClass('a_par'); 
});

firebug查看jquery parent效果

二、获取同级元素:

1、next([expr]):
获取指定元素的下一个同级元素(注意是下一个同级元素哦)

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript" src="/jquery/jquery.js"></script> 
</head> <body> 
<ul> 
<li>list item 1</li> 
<li>list item 2</li> 
<li class="third-item">list item 3</li> 
<li>list item 4</li> 
<li>list item 5</li> 
</ul> 
<script> 
$('li.third-item').next().css('background-color', 'red'); 
</script> 
</body> 
</html>

这个例子的结果是,只有list item 4背景色变为红色

2、nextAll([expr]):

获取指定元素后边的所有同级元素

<div><span>And Again</span></div> 
var p_nex = $("p").nextAll(); 
p_nex.addClass('p_next_all');

注意看最后一个”<p>”标签哦,也被加上了'p_next_all'这个类名哦~~

3、andSelf():

获取指定元素后边的所有同级元素,之后加上指定的元素

我感觉这个函数是最有意思的一个函数了,什么意思?直译过来就是”还有我“,”还有自己”,没错,还有自己。

<p>Hello</p><p>Hello Again</p><div><span>And Again</span></div> 
var p_nex = $("p").nextAll().andSelf(); 
p_nex.addClass('p_next_all');

注意看第一个“<p>”标签啊,这句话的意思是选择p标签后面的所有同级标签,以及自己。。。

以下这两个不举具体的例子了,实际上就是next()和nextAll()的相反喽

4、prev():获取指定元素的上一个同级元素(是上一个哦)。

5、prevAll():获取指定元素的前边所有的同级元素。

三、获取子元素

1、查找子元素方式1:>

例如:var aNods = $("ul > a");查找ul下的所有a标签

2、查找子元素方式2:children()

3、查找子元素方式3:find()

这里再简单介绍以下children()和find()的异同:

1> children及find方法都用是用来获得element的子elements的,两者都不会返回 text node,就像大多数的jQuery方法一样。
2> children方法获得的仅仅是元素一下级的子元素,即:immediate children。
3> find方法获得所有下级元素,即:descendants of these elements in the DOM tree
4> children方法的参数selector 是可选的(optionally),用来过滤子元素,

但find方法的参数selector方法是必选的。

5> find方法事实上可以通过使用 jQuery( selector, context )来实现。即$('li.item-ii').find('li')等同于$('li', 'li.item-ii').

例:

<ul class="level-1"> 
<li class="item-i">I</li> 
<li class="item-ii">II 
<ul class="level-2"> 
<li class="item-a">A</li> 
<li class="item-b">B 
<ul class="level-3"> 
<li class="item-1">1</li> 
<li class="item-2">2</li> 
<li class="item-3">3</li> 
</ul> 
</li> 
<li class="item-c">C</li> 
</ul> 
</li> 
<li class="item-iii">III</li> 
</ul>

使用:$('ul.level-2').children().css('border', '1px solid green'); 的效果是:

使用 $('ul.level-2').find('li').css('border', '1px solid green'); 的效果是:

Javascript 相关文章推荐
Autocomplete Textbox Example javascript实现自动完成成功
Aug 17 Javascript
在jquery中处理带有命名空间的XML数据
Jun 13 Javascript
javascript中文本框中输入法切换的问题
Dec 10 Javascript
详解JavaScript对W3C DOM模版的支持情况
Jun 16 Javascript
不想让浏览器运行javascript脚本的方法
Nov 20 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
Aug 02 Javascript
jQuery ready()和onload的加载耗时分析
Sep 08 Javascript
网页瀑布流布局jQuery实现代码
Oct 21 Javascript
微信小程序 this和that详解及简单实例
Feb 13 Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
Apr 17 jQuery
js简易版购物车功能
Jun 17 Javascript
JS实现判断图片是否加载完成的方法分析
Jul 31 Javascript
JavaScript函数获取事件源的小例子
May 14 #Javascript
javascript单引号和双引号的区别和处理
May 14 #Javascript
document.write的几点使用心得
May 14 #Javascript
解决html按钮切换绑定不同函数后点击时执行多次函数问题
May 14 #Javascript
用jQuery toggleClass 实现鼠标移上变色
May 14 #Javascript
jquery ztree实现下拉树形框使用到了json数据
May 14 #Javascript
JQuery性能优化的几点建议
May 14 #Javascript
You might like
在PHP中养成7个面向对象的好习惯
2010/07/17 PHP
php 连接mysql连接被重置的解决方法
2011/02/15 PHP
php 安全过滤函数代码
2011/05/07 PHP
PHP的可变变量名的使用方法分享
2012/02/05 PHP
PHP获取ttf格式文件字体名的方法示例
2019/03/06 PHP
在html页面上拖放移动标签
2010/01/08 Javascript
基于JQuery的Select选择框的华丽变身
2011/08/23 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
eclipse如何忽略js文件报错(附图)
2013/10/30 Javascript
讨论html与javascript在浏览器中的加载顺序问题
2013/11/27 Javascript
jQuery判断checkbox是否选中的3种方法
2014/08/12 Javascript
基于jQuery实现网页进度显示插件
2015/03/04 Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
2015/04/26 Javascript
javascript实现简易计算器的代码
2016/05/31 Javascript
浅谈JS继承_寄生式继承 &amp; 寄生组合式继承
2016/08/16 Javascript
ionic中列表项增加和删除的实现方法
2017/01/22 Javascript
JS实现图片放大缩小的方法
2017/02/15 Javascript
Javascript中的getter和setter初识
2017/08/17 Javascript
JS返回顶部实例代码
2020/08/09 Javascript
webpack 单独打包指定JS文件的方法
2018/02/22 Javascript
详解node.js 下载图片的 2 种方式
2018/03/02 Javascript
jQuery中each遍历的三种方法实例分析
2018/09/07 jQuery
微信小程序学习总结(四)事件与冒泡实例分析
2020/06/04 Javascript
详解vue3.0 的 Composition API 的一种使用方法
2020/10/26 Javascript
python 将字符串转换成字典dict
2013/03/24 Python
Python操作Access数据库基本步骤分析
2016/09/19 Python
详解Python进阶之切片的误区与高级用法
2018/12/24 Python
IE兼容css3圆角的实现代码
2011/07/21 HTML / CSS
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
日本最大的旅游网站:Rakuten Travel(乐天旅游)
2018/08/02 全球购物
华三通信H3C面试题
2015/05/15 面试题
在c#中using和new这两个关键字有什么意义
2013/05/19 面试题
应届生财务会计求职信
2013/11/05 职场文书
2014年纳税评估工作总结
2014/12/23 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书
Shell中的单中括号和双中括号的用法详解
2022/12/24 Servers