使用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 相关文章推荐
11款新鲜的jQuery插件[附所有demo下载]
Jan 24 Javascript
js 控制下拉菜单刷新的方法
Mar 03 Javascript
js触发select onchange事件的小技巧
Aug 05 Javascript
分享一个自己动手写的jQuery分页插件
Aug 28 Javascript
使用纯javascript实现经典扫雷游戏
Apr 23 Javascript
浅谈几种常用的JS类定义方法
Jun 08 Javascript
仿iframe效果Aajx文件上传实例
Nov 18 Javascript
浅谈jQuery hover(over, out)事件函数
Dec 03 Javascript
Node.js中的http请求客户端示例(request client)
May 04 Javascript
利用webstrom调试Vue.js单页面程序的方法教程
Jun 06 Javascript
详解AngularJS之$window窗口对象
Jan 17 Javascript
实例讲解JavaScript预编译流程
Jan 24 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实现ping
2006/10/09 PHP
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
用PHP书写安全的脚本代码
2012/02/05 PHP
php curl基本操作详解
2013/07/23 PHP
php防注入及开发安全详细解析
2013/08/09 PHP
php中动态修改ini配置
2014/10/14 PHP
PHP实现GIF图片验证码
2015/11/04 PHP
symfony2.4的twig中date用法分析
2016/03/18 PHP
PHP后端银联支付及退款实例代码
2017/06/23 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
2019/02/16 PHP
javascript之对系统的toFixed()方法的修正
2007/05/08 Javascript
WordPress JQuery处理沙发头像
2009/06/22 Javascript
javascript测试题练习代码
2012/10/10 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
Javascript 命名空间模式
2013/11/01 Javascript
Jquery Ajax xmlhttp请求成功问题
2015/02/04 Javascript
JavaScript中的await/async的作用和用法
2016/10/31 Javascript
Canvas 绘制粒子动画背景
2017/02/15 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
在vue中多次调用同一个定义全局变量的实例
2018/09/25 Javascript
vue 中的 render 函数作用详解
2020/02/28 Javascript
jQuery实现雪花飘落效果
2020/08/02 jQuery
vue3弹出层V3Popup实例详解
2021/01/04 Vue.js
python多线程扫描端口示例
2014/01/16 Python
Python字符和字符值(ASCII或Unicode码值)转换方法
2015/05/21 Python
Python机器学习之决策树算法
2017/12/22 Python
Python通过OpenCV的findContours获取轮廓并切割实例
2018/01/05 Python
解决pytorch 交叉熵损失输出为负数的问题
2020/07/07 Python
携程旅行网:中国领先的在线旅行服务公司
2017/02/17 全球购物
俄罗斯厨房产品购物网站:COOK HOUSE
2021/03/15 全球购物
高中生毕业学习总结的自我评价
2013/11/14 职场文书
小学生获奖感言范文
2014/02/02 职场文书
《桂花雨》教学反思
2014/04/12 职场文书
竞选大队委员演讲稿
2014/04/28 职场文书
运动会表扬稿
2015/01/16 职场文书