使用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 相关文章推荐
关于jQuery参考实例2.0 用jQuery选择元素
Apr 07 Javascript
js中如何复制一个对象并获取其所有属性和属性对应的值
Oct 24 Javascript
javascript 拷贝节点cloneNode()使用介绍
Apr 03 Javascript
使用node.js 制作网站前台后台
Nov 13 Javascript
jQuery on方法传递参数示例
Dec 09 Javascript
javascript实现网页子页面遍历回调的方法(涉及 window.frames、递归函数、函数上下文)
Jul 27 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
Aug 16 Javascript
Vue实现active点击切换方法
Mar 16 Javascript
在vue项目中,将juery设置为全局变量的方法
Sep 25 Javascript
微信小程序与webview交互实现支付功能
Jun 07 Javascript
vue动态禁用控件绑定disable的例子
Oct 28 Javascript
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
Apr 27 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
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
js局部刷新页面时间具体实现
2013/07/04 Javascript
JS实现双击内容变为可编辑状态
2017/03/03 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
JavaScript中使用webuploader实现上传视频功能(demo)
2017/04/10 Javascript
JS开发中基本数据类型具体有哪几种
2017/10/19 Javascript
vue获取dom元素注意事项
2017/12/28 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
2019/01/30 Javascript
Vue extend的基本用法(实例详解)
2019/12/09 Javascript
vue路由权限校验功能的实现代码
2020/06/07 Javascript
Python的爬虫程序编写框架Scrapy入门学习教程
2016/07/02 Python
python目录与文件名操作例子
2016/08/28 Python
python常见排序算法基础教程
2017/04/13 Python
Python2随机数列生成器简单实例
2017/09/04 Python
Python实现PS滤镜特效之扇形变换效果示例
2018/01/26 Python
详解python字节码
2018/02/07 Python
Python pymongo模块常用操作分析
2018/09/01 Python
python打开windows应用程序的实例
2019/06/28 Python
Django 重写用户模型的实现
2019/07/29 Python
python通过matplotlib生成复合饼图
2020/02/06 Python
keras读取h5文件load_weights、load代码操作
2020/06/12 Python
学习Python需要哪些工具
2020/09/04 Python
心理学专业毕业生推荐信范文
2013/11/21 职场文书
函授大学生自我鉴定
2014/02/05 职场文书
《乞巧》教学反思
2014/02/27 职场文书
文明演讲稿范文
2014/05/12 职场文书
党员领导干部承诺书
2014/05/28 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
2014年乡镇人大工作总结
2014/11/25 职场文书
呼兰河传读书笔记
2015/06/30 职场文书
2016年圣诞节活动总结范文
2016/04/01 职场文书
让人瞬间清醒的句子,句句经典,字字如金
2019/07/08 职场文书
Python初学者必备的文件读写指南
2021/06/23 Python
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS
PC版《死亡搁浅导剪版》现已发售 展开全新的探险
2022/04/03 其他游戏
Redis实现分布式锁的五种方法详解
2022/06/14 Redis