使用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 相关文章推荐
让IE8支持DOM 2(不用框架!)
Dec 31 Javascript
js实现跨域的几种方法汇总(图片ping、JSONP和CORS)
Oct 25 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
Dec 14 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
May 28 Javascript
JS中的数组方法笔记整理
Jul 26 Javascript
JavaScript的for循环中嵌套一个点击事件的问题解决
Mar 03 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
Apr 21 Javascript
vue+springmvc导出excel数据的实现代码
Jun 27 Javascript
详解vue通过NGINX部署在子目录或者二级目录实践
Sep 03 Javascript
解决angularjs service中依赖注入$scope报错的问题
Oct 02 Javascript
vue中get请求如何传递数组参数的方法示例
Nov 08 Javascript
es6函数之rest参数用法实例分析
Apr 18 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
海贼王:最美的悬赏令!
2020/03/02 日漫
php Session存储到Redis的方法
2013/11/04 PHP
php通过记录IP来防止表单重复提交方法分析
2014/12/16 PHP
php读取csc文件并输出
2015/05/21 PHP
yii去掉必填项中星号的方法
2015/12/28 PHP
php实现的中文分词类完整实例
2017/02/06 PHP
JavaScript 动态将数字金额转化为中文大写金额
2009/05/14 Javascript
js确定对象类型方法
2012/03/30 Javascript
jQuery布局插件UI Layout简介及使用方法
2013/04/03 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
jQuery的context属性用法实例
2014/12/27 Javascript
jquery实现无限分级横向导航菜单的方法
2015/03/12 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
JavaScript 中对象的深拷贝
2016/12/04 Javascript
vue货币过滤器的实现方法
2017/04/01 Javascript
AngularJS获取json数据的方法详解
2017/05/27 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
2018/03/02 Javascript
详解ajax的data参数错误导致页面崩溃
2018/04/30 Javascript
vue展示dicom文件医疗系统的实现代码
2018/08/27 Javascript
jQuery pagination分页示例详解
2018/10/23 jQuery
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
Vue实现简单的留言板
2020/10/23 Javascript
Python3安装Scrapy的方法步骤
2017/11/23 Python
Python中文编码知识点
2019/02/18 Python
win10安装python3.6的常见问题
2020/07/01 Python
如何在mac版pycharm选择python版本
2020/07/21 Python
俄罗斯连接商品和买家的在线平台:goods.ru
2020/11/30 全球购物
工程部主管岗位职责
2013/11/17 职场文书
个人求职信范文分享
2013/12/13 职场文书
《学棋》教后反思
2014/04/14 职场文书
民主生活会意见
2015/06/05 职场文书
2015年学校少先队工作总结
2015/07/20 职场文书
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
2021/04/12 Python
golang如何去除多余空白字符(含制表符)
2021/04/25 Golang
Pycharm 如何设置HTML文件自动补全代码或标签
2021/05/21 Python