使用jquery選擇器如何獲取父級(jí)元素、同級(jí)元素、子元素
更新時(shí)間:2014年05月14日 17:08:02 作者:
這篇文章主要介紹了使用jquery選擇器如何獲取父級(jí)元素、同級(jí)元素、子元素,需要的朋友可以參考下
一、獲取父級(jí)元素
1、 parent([expr]):
獲取指定元素的所有父級(jí)元素
<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效果
二、獲取同級(jí)元素:
1、next([expr]):
獲取指定元素的下一個(gè)同級(jí)元素(注意是下一個(gè)同級(jí)元素哦)
<!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>
這個(gè)例子的結(jié)果是,只有l(wèi)ist item 4背景色變?yōu)榧t色
2、nextAll([expr]):
獲取指定元素后邊的所有同級(jí)元素
<div><span>And Again</span></div>
var p_nex = $("p").nextAll();
p_nex.addClass('p_next_all');
注意看最后一個(gè)”<p>”標(biāo)簽哦,也被加上了'p_next_all'這個(gè)類名哦~~
3、andSelf():
獲取指定元素后邊的所有同級(jí)元素,之后加上指定的元素
我感覺(jué)這個(gè)函數(shù)是最有意思的一個(gè)函數(shù)了,什么意思?直譯過(guò)來(lái)就是”還有我“,”還有自己”,沒(méi)錯(cuò),還有自己。
<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');
注意看第一個(gè)“<p>”標(biāo)簽啊,這句話的意思是選擇p標(biāo)簽后面的所有同級(jí)標(biāo)簽,以及自己。。。
以下這兩個(gè)不舉具體的例子了,實(shí)際上就是next()和nextAll()的相反嘍
4、prev():獲取指定元素的上一個(gè)同級(jí)元素(是上一個(gè)哦)。
5、prevAll():獲取指定元素的前邊所有的同級(jí)元素。
三、獲取子元素
1、查找子元素方式1:>
例如:var aNods = $("ul > a");查找ul下的所有a標(biāo)簽
2、查找子元素方式2:children()
3、查找子元素方式3:find()
這里再簡(jiǎn)單介紹以下children()和find()的異同:
1> children及find方法都用是用來(lái)獲得element的子elements的,兩者都不會(huì)返回 text node,就像大多數(shù)的jQuery方法一樣。
2> children方法獲得的僅僅是元素一下級(jí)的子元素,即:immediate children。
3> find方法獲得所有下級(jí)元素,即:descendants of these elements in the DOM tree
4> children方法的參數(shù)selector 是可選的(optionally),用來(lái)過(guò)濾子元素,
但find方法的參數(shù)selector方法是必選的。
5> find方法事實(shí)上可以通過(guò)使用 jQuery( selector, context )來(lái)實(shí)現(xiàn)。即$('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'); 的效果是:
1、 parent([expr]):
獲取指定元素的所有父級(jí)元素
復(fù)制代碼 代碼如下:
<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效果
二、獲取同級(jí)元素:
1、next([expr]):
獲取指定元素的下一個(gè)同級(jí)元素(注意是下一個(gè)同級(jí)元素哦)
復(fù)制代碼 代碼如下:
<!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>
這個(gè)例子的結(jié)果是,只有l(wèi)ist item 4背景色變?yōu)榧t色
2、nextAll([expr]):
獲取指定元素后邊的所有同級(jí)元素
復(fù)制代碼 代碼如下:
<div><span>And Again</span></div>
var p_nex = $("p").nextAll();
p_nex.addClass('p_next_all');
注意看最后一個(gè)”<p>”標(biāo)簽哦,也被加上了'p_next_all'這個(gè)類名哦~~
3、andSelf():
獲取指定元素后邊的所有同級(jí)元素,之后加上指定的元素
我感覺(jué)這個(gè)函數(shù)是最有意思的一個(gè)函數(shù)了,什么意思?直譯過(guò)來(lái)就是”還有我“,”還有自己”,沒(méi)錯(cuò),還有自己。
復(fù)制代碼 代碼如下:
<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');
注意看第一個(gè)“<p>”標(biāo)簽啊,這句話的意思是選擇p標(biāo)簽后面的所有同級(jí)標(biāo)簽,以及自己。。。
以下這兩個(gè)不舉具體的例子了,實(shí)際上就是next()和nextAll()的相反嘍
4、prev():獲取指定元素的上一個(gè)同級(jí)元素(是上一個(gè)哦)。
5、prevAll():獲取指定元素的前邊所有的同級(jí)元素。
三、獲取子元素
1、查找子元素方式1:>
例如:var aNods = $("ul > a");查找ul下的所有a標(biāo)簽
2、查找子元素方式2:children()
3、查找子元素方式3:find()
這里再簡(jiǎn)單介紹以下children()和find()的異同:
1> children及find方法都用是用來(lái)獲得element的子elements的,兩者都不會(huì)返回 text node,就像大多數(shù)的jQuery方法一樣。
2> children方法獲得的僅僅是元素一下級(jí)的子元素,即:immediate children。
3> find方法獲得所有下級(jí)元素,即:descendants of these elements in the DOM tree
4> children方法的參數(shù)selector 是可選的(optionally),用來(lái)過(guò)濾子元素,
但find方法的參數(shù)selector方法是必選的。
5> find方法事實(shí)上可以通過(guò)使用 jQuery( selector, context )來(lái)實(shí)現(xiàn)。即$('li.item-ii').find('li')等同于$('li', 'li.item-ii').
例:
復(fù)制代碼 代碼如下:
<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'); 的效果是:
您可能感興趣的文章:
相關(guān)文章
jQuery實(shí)現(xiàn)簡(jiǎn)單的手風(fēng)琴效果
這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)簡(jiǎn)單的手風(fēng)琴效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06jQuery實(shí)現(xiàn)仿美橙互聯(lián)兩級(jí)導(dǎo)航菜單效果完整實(shí)例
這篇文章主要介紹了jQuery實(shí)現(xiàn)仿美橙互聯(lián)兩級(jí)導(dǎo)航菜單效果,以完整實(shí)例形式分析了jQuery響應(yīng)鼠標(biāo)事件實(shí)現(xiàn)針對(duì)頁(yè)面元素的遍歷及樣式的動(dòng)態(tài)操作技巧,需要的朋友可以參考下2015-09-09jQuery接受后臺(tái)傳遞的List的實(shí)例詳解
這篇文章主要介紹了jQuery接受后臺(tái)傳遞的List的實(shí)例詳解的相關(guān)資料,這里提供了前臺(tái)代碼和后臺(tái)代碼的實(shí)現(xiàn),需要的朋友可以參考下2017-08-08解析jQuery與其它js(Prototype)庫(kù)兼容共存
解決jQuery與其它js(Prototype)庫(kù)沖突的方法很簡(jiǎn)單,就是使用jQuery的jQuery.noConflict()函數(shù),以下小編就為大家介紹,需要的朋友可以參考下2013-07-0711個(gè)用于提高排版水平的基于jquery的文字效果插件
我們都知道,在傳統(tǒng)的排版當(dāng)中使用DIV+CSS來(lái)實(shí)現(xiàn)的話是很困難的,今天使用jquery插件,你可以實(shí)現(xiàn)卓越的排版效果,專門用于為您提高您的排版水平2012-09-09jQuery在header中設(shè)置請(qǐng)求信息的方法
這篇文章主要介紹了jQuery在header中設(shè)置請(qǐng)求信息的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03jQuery 1.3 和 Validation 驗(yàn)證插件1.5.1
jQuery 1.3已經(jīng)新鮮出爐了,你可以通過(guò)jQuery 的官方博客查看相關(guān)細(xì)節(jié)。jQuery三歲了!2009-07-07