使用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è)類(lèi)名哦~~
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è)類(lèi)名哦~~
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對(duì)象的length屬性用法實(shí)例
這篇文章主要介紹了jQuery對(duì)象的length屬性用法,實(shí)例分析了length屬性獲取集合中對(duì)象數(shù)目的使用技巧,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12
jQuery數(shù)據(jù)顯示插件整合實(shí)現(xiàn)代碼
由于我們公司的產(chǎn)品涉及到很多的表格數(shù)據(jù)顯示,而且每張表的字段數(shù)都很多,在工作過(guò)程中(幾任同仁的努力),整合出一套自認(rèn)為較為輕巧的方案2011-10-10
從零開(kāi)始學(xué)習(xí)jQuery (一) 開(kāi)天辟地入門(mén)篇
本篇文章是入門(mén)第一篇, 主要是簡(jiǎn)單介紹jQuery, 通過(guò)簡(jiǎn)單示例指導(dǎo)大家如何編寫(xiě)jQuery代碼以及搭建開(kāi)發(fā)環(huán)境. 詳細(xì)講解了如何在Visual Studio中配合使用jQuery.2010-10-10
jQuery實(shí)現(xiàn)IE輸入框完成placeholder標(biāo)簽功能的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)IE輸入框完成placeholder標(biāo)簽功能的方法,涉及jQuery事件響應(yīng)及針對(duì)頁(yè)面元素屬性的動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-09-09
asp.net網(wǎng)站開(kāi)發(fā)中用jquery實(shí)現(xiàn)滾動(dòng)瀏覽器滾動(dòng)條加載數(shù)據(jù)(類(lèi)似于騰訊微博)
騰訊微博提供兩種加載數(shù)據(jù)的方式,一種是分頁(yè),一種是滾動(dòng)瀏覽器滾動(dòng)條加載數(shù)據(jù),分頁(yè)功能我想大家都做得太多了,今天我與大家分享一下我用滾動(dòng)條滾動(dòng)加載數(shù)據(jù)2012-03-03
自己動(dòng)手開(kāi)發(fā)jQuery插件教程
首先要了解jQuery插件開(kāi)發(fā)分兩種,1.類(lèi)級(jí)別的插件開(kāi)發(fā)。2.對(duì)象級(jí)別插件開(kāi)發(fā)。什么? 你居然問(wèn)什么是類(lèi)級(jí)別和什么是對(duì)象級(jí)別?2011-08-08

