使用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 setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
Jun 11 Javascript
jquery调用asp.net 页面后台的实现代码
Apr 27 Javascript
jquery监听div内容的变化具体实现思路
Nov 04 Javascript
JavaScript计划任务后台运行的方法
Dec 18 Javascript
JS判断iframe是否加载完成的方法
Aug 03 Javascript
AngularJS入门教程之过滤器详解
Aug 19 Javascript
微信小程序使用input组件实现密码框功能【附源码下载】
Dec 11 Javascript
iView-admin 动态路由问题的解决方法
Oct 03 Javascript
Django模板继承 extend标签实例代码详解
May 16 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
Aug 21 Javascript
Vue替代marquee标签超出宽度文字横向滚动效果
Dec 09 Javascript
JavaScript this关键字的深入详解
Jan 14 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中显示数组与对象的实现代码
2011/04/18 PHP
php 批量添加多行文本框textarea一行一个
2014/06/03 PHP
如何让搜索引擎抓取AJAX内容解决方案
2014/08/25 PHP
让ThinkPHP支持大小写url地址访问的方法
2014/10/31 PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
2015/09/22 PHP
golang与PHP输出excel示例
2016/07/22 PHP
php观察者模式应用场景实例详解
2017/02/03 PHP
Windows Live的@live.com域名注册漏洞 利用代码
2006/12/27 Javascript
javascript 限制输入脚本大全
2009/11/03 Javascript
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
js 操作select和option常用代码整理
2012/12/13 Javascript
js 获取radio按钮值的实例
2013/08/17 Javascript
Javascript变量作用域详解
2013/12/06 Javascript
iframe父页面获取子页面参数的方法
2014/02/21 Javascript
js 动态修改css文件用到了cssRule
2014/08/20 Javascript
javascript框架设计读书笔记之数组的扩展与修复
2014/12/02 Javascript
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
Vue.js快速入门实例教程
2016/10/15 Javascript
js+html5实现半透明遮罩层弹框效果
2020/08/24 Javascript
Cpage.js给组件绑定事件的实现代码
2017/08/31 Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
2017/09/05 Javascript
JS实现DOM删除节点操作示例
2018/04/04 Javascript
vue车牌号校验和银行校验实战
2019/01/23 Javascript
浅谈vue3中effect与computed的亲密关系
2019/10/10 Javascript
js实现3D旋转相册
2020/08/02 Javascript
[52:03]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第三场 1月31日
2021/03/11 DOTA
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
2018/04/17 Python
python验证码识别教程之利用滴水算法分割图片
2018/06/05 Python
python实现可视化动态CPU性能监控
2018/06/21 Python
css3实现顶部社会化分享按钮示例
2014/05/06 HTML / CSS
鲜果饮品店创业计划书
2014/01/21 职场文书
煤矿安全知识竞赛活动总结
2014/07/07 职场文书
班级出游活动计划书
2014/08/15 职场文书
Python基础之字符串格式化详解
2021/04/21 Python