使用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 相关文章推荐
JavaScript中yield实用简洁实现方式
Jun 12 Javascript
jQuery 源码分析笔记(3) Deferred机制
Jun 19 Javascript
js处理json以及字符串的比较等常用操作
Sep 08 Javascript
去除字符串左右两边的空格(实现代码)
May 12 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
May 20 Javascript
JS从一组数据中找到指定的单条数据的方法
Jun 02 Javascript
jquery获取点击控件的绝对位置简单实例
Oct 13 Javascript
微信小程序自定义组件实现tabs选项卡功能
Jul 14 Javascript
VUE 全局变量的几种实现方式
Aug 22 Javascript
基于javascript实现碰撞检测
Mar 12 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
Jul 22 Javascript
vue使用swiper实现左右滑动切换图片
Oct 16 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
自制汽车收音机天线:收听广播的技巧和方法
2021/03/02 无线电
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
2014/07/04 PHP
php将字符串全部转换成大写或者小写的方法
2015/03/17 PHP
PHP实现无限分类的实现方法
2016/11/14 PHP
PHP PDOStatement::nextRowset讲解
2019/02/01 PHP
10个新的最有前途的JavaScript框架
2009/03/12 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
2014/10/17 Javascript
javascript判断变量是否有值的方法
2015/04/20 Javascript
jquery实现标题字体变换的滑动门菜单效果
2015/09/07 Javascript
浅析angularJS中的ui-router和ng-grid模块
2016/05/20 Javascript
D3.js实现折线图的方法详解
2016/09/21 Javascript
JQuery 动态生成Table表格实例代码
2016/12/02 Javascript
JS判断指定dom元素是否在屏幕内的方法实例
2017/01/23 Javascript
基于vue实现多引擎搜索及关键字提示
2017/03/16 Javascript
详解使用nvm管理多版本node的方法
2017/08/30 Javascript
Vue项目History模式404问题解决方法
2018/10/31 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
jquery将信息遍历到界面上实例代码
2020/01/21 jQuery
SpringBoot在yml配置文件中配置druid的操作
2020/11/16 Javascript
Python语法快速入门指南
2015/10/12 Python
opencv与numpy的图像基本操作
2019/03/08 Python
PyQt5显示GIF图片的方法
2019/06/17 Python
libreoffice python 操作word及excel文档的方法
2019/07/04 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
Python 3 使用Pillow生成漂亮的分形树图片
2019/12/24 Python
python 弧度与角度互转实例
2020/04/15 Python
基于python实现模拟数据结构模型
2020/06/12 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
CSS3 旋转立方体问题详解
2020/01/09 HTML / CSS
canvas 橡皮筋式线条绘图应用方法
2019/02/13 HTML / CSS
五星级酒店餐饮部总监的标准岗位职责
2014/02/17 职场文书
个人诉讼委托书范本
2014/10/17 职场文书
酒店前台辞职书
2015/02/26 职场文书
我的兄弟姐妹观后感
2015/06/15 职场文书
Node.js实现断点续传
2021/06/23 Javascript
使用CSS实现六边形的图片效果
2022/08/05 HTML / CSS