使用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随即打乱数组实现代码
Dec 03 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
Nov 19 Javascript
jQuery实现的图文高亮滚动切换特效实例
Aug 10 Javascript
AngularJS 使用 UI Router 实现表单向导
Jan 29 Javascript
浅谈javascript的call()、apply()、bind()的用法
Feb 21 Javascript
微信小程序 教程之注册页面
Oct 17 Javascript
bootstrap multiselect下拉列表功能
Aug 22 Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
Sep 14 Javascript
简易Vue评论框架的实现(父组件的实现)
Jan 08 Javascript
webuploader分片上传的实现代码(前后端分离)
Sep 10 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
May 07 Javascript
Vue实现星级评价效果实例详解
Dec 30 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 Directory 函数的详解
2013/03/07 PHP
PHP判断图片格式的七种方法小结
2013/06/03 PHP
php从文件夹随机读取文件的方法
2015/06/01 PHP
ThinkPHP 3使用OSS的方法
2018/07/19 PHP
实例讲解通过​PHP创建数据库
2019/01/20 PHP
jQuery 判断页面元素是否存在的代码
2009/08/14 Javascript
js 全兼容可高亮二级缓冲折叠菜单
2010/06/04 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
2013/01/25 Javascript
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
2016/05/27 Javascript
Vuejs第七篇之Vuejs过渡动画案例全面解析
2016/09/05 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
2017/04/19 Javascript
bootstrap+jQuery实现的动态进度条功能示例
2017/05/25 jQuery
微信小程序实现左滑修改、删除功能
2020/10/19 Javascript
纯javascript实现选择框的全选与反选功能
2019/04/08 Javascript
微信小程序接入腾讯云验证码的方法步骤
2020/01/07 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
Python脚本利用adb进行手机控制的方法
2019/07/08 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
2020/01/21 Python
Python 实现Image和Ndarray互相转换
2020/02/19 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
2020/04/26 Python
python如何查看网页代码
2020/06/07 Python
Python3开发环境搭建详细教程
2020/06/18 Python
Python爬虫之Selenium警告框(弹窗)处理
2020/12/04 Python
Selenium环境变量配置(火狐浏览器)及验证实现
2020/12/07 Python
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
指针和引用有什么区别
2013/01/13 面试题
Linux的文件类型
2016/07/05 面试题
Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗
2013/05/01 面试题
大学生入党自我鉴定
2013/10/31 职场文书
中专生的个人自我评价
2013/12/11 职场文书
十佳文明家庭事迹
2014/05/25 职场文书
开展批评与自我批评心得体会
2014/10/17 职场文书
初二英语教学反思
2016/02/15 职场文书
Nginx快速入门教程
2021/03/31 Servers
python实现批量移动文件
2021/04/05 Python