使用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 相关文章推荐
js实现翻页后保持checkbox选中状态的实现方法
Nov 03 Javascript
jquery获取一组checkbox的值(实例代码)
Nov 04 Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
Sep 19 Javascript
浅谈Javascript中匀速运动的停止条件
Dec 19 Javascript
JavaScript实战(原生range和自定义特效)简单实例
Aug 21 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
Aug 31 Javascript
Angular.js中用ng-repeat-start实现自定义显示
Oct 18 Javascript
Javascript中call,apply,bind方法的详解与总结
Dec 12 Javascript
javascript闭包功能与用法实例分析
Apr 06 Javascript
package.json文件配置详解
Jun 15 Javascript
如何理解Vue的.sync修饰符的使用
Aug 17 Javascript
vue的一个分页组件的示例代码
Dec 25 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 模拟$_PUT实现代码
2010/03/15 PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
2011/08/18 PHP
spl_autoload_register与autoload的区别详解
2013/06/03 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
2013/06/20 PHP
在Debian系统下配置LNMP的教程
2015/07/09 PHP
漂亮的widgets,支持换肤和后期开发新皮肤(2007-4-27已更新1.7alpha)
2007/04/27 Javascript
不使用XMLHttpRequest实现异步加载 Iframe和script
2012/10/29 Javascript
jQuery中scrollLeft()方法用法实例
2015/01/16 Javascript
浅析javascript中函数声明和函数表达式的区别
2015/02/15 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
JavaScript按值删除数组元素的方法
2015/04/24 Javascript
原生js配合cookie制作保存路径的拖拽
2015/12/29 Javascript
node.js文件上传处理示例
2016/10/27 Javascript
浅谈Vue 初始化性能优化
2017/08/31 Javascript
在vue里面设置全局变量或数据的方法
2018/03/09 Javascript
详解Vue的钩子函数(路由导航守卫、keep-alive、生命周期钩子)
2018/07/24 Javascript
js实现图片局部放大效果详解
2019/03/18 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
vscode 调试 node.js的方法步骤
2020/09/15 Javascript
python针对不定分隔符切割提取字符串的方法
2018/10/26 Python
python查找重复图片并删除(图片去重)
2019/07/16 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
2019/12/19 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
2020/03/13 Python
基于opencv的selenium滑动验证码的实现
2020/07/24 Python
大韩航空官方网站:Korean Air
2017/10/25 全球购物
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
String和StringBuffer的区别
2015/08/13 面试题
机械设计及其自动化专业求职信
2014/06/09 职场文书
高三英语复习计划
2015/01/19 职场文书
2015年母亲节活动总结
2015/02/10 职场文书
销售助理岗位职责
2015/02/11 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
房屋租赁意向书范本
2015/05/09 职场文书
二审代理词范文
2015/05/25 职场文书
安全教育的主题班会
2015/08/13 职场文书
4种方法python批量修改替换列表中元素
2022/04/07 Python