日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

020_遍历祖先

發布時間:2025/4/17 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 020_遍历祖先 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. parent()方法

1.1. parent()方法獲得當前匹配元素集合中每個元素的父元素, 沿DOM樹向上遍歷單一層級。

1.2. parent()方法接受可選的選擇器表達式, 與我們向$()函數中傳遞的參數類型相同。如果應用這個選擇器, 則將通過檢測元素是否匹配該選擇器對元素進行篩選。

1.3. 語法

$(selector).parent() $(selector).parent(selector)

1.4. 參數

1.5. 例子

1.5.1. 代碼

<!DOCTYPE html> <html><head><meta charset="utf-8" /><title>parent()方法</title><script type="text/javascript" src="jquery.js"></script><script type="text/javascript">$(document).ready(function(){$('#btn1').click(function(){$("span").parent().css('background-color', 'blue');});$('#btn2').click(function(){$("span").parent('.myP').css('background-color', 'green');});});</script><style type="text/css">#myDiv {background-color: yellow; width: 600px; height: 300px;}#myDiv div {background-color: pink; width: 500px; height: 100px; margin: 0 auto;}#myDiv p {background-color: red; padding: 10px;}</style></head><body><div id="myDiv"><div><p><span>parent()方法獲得當前匹配元素集合中每個元素的父元素, 沿DOM樹向上遍歷單一層級。</span></p></div><div><p class="myP"><span>parent()方法接受可選的選擇器表達式, 與我們向$()函數中傳遞的參數類型相同。如果應用這個選擇器, 則將通過檢測元素是否匹配該選擇器對元素進行篩選。</span></p></div></div><br /><button id="btn1">父元素</button> <button id="btn2">過濾的父元素</button></body> </html>

1.5.2. 效果圖

2. parents()方法

2.1. parents()方法獲得當前匹配元素集合中每個元素的祖先元素, 它一路向上直到文檔的根元素(<html>)。

2.2. parents()方法接受可選的選擇器表達式, 與我們向$()函數中傳遞的參數類型相同。如果應用這個選擇器, 則將通過檢測元素是否匹配該選擇器對元素進行篩選。

2.3. 語法

$(selector).parents() $(selector).parents(selector)

2.4. 參數

2.5. 例子

2.5.1. 代碼

<!DOCTYPE html> <html><head><meta charset="utf-8" /><title>parents()方法</title><script type="text/javascript" src="jquery.js"></script><script type="text/javascript">$(document).ready(function(){$('#btn1').click(function(){$("b").parents().css({"color":"red","border":"2px solid red"});});$('#btn2').click(function(){$("b").parents('.myUl').css({"color":"red","border":"2px solid red"});});});</script><style type="text/css">.ancestors div{width: 500px; float: left;}.ancestors div, .ancestors div *{ display: block;border: 2px solid lightgrey;color: lightgrey;padding: 5px;margin: 15px;}</style></head><body class="ancestors"> <span style="display: block;">body(曾曾祖父)</span><div>div(曾祖父)<ul class="myUl">ul(祖父) <li>li(直接父)<b>b元素</b></li></ul> </div><div>div(曾祖父)<ul class="myUl">ul(祖父) <li>li(直接父)<b>b元素</b></li></ul> </div><span style="display: block; clear: left;"><button id="btn1">祖先元素</button> <button id="btn2">過濾的祖先元素</button></span></body> </html>

2.5.2. 效果圖

3. parentsUntil()方法

3.1. parentsUntil()方法返回當前匹配元素集合中每個元素的祖先元素, 是介于兩個給定元素之間的元素, 直到(但不包括)被選擇器、DOM節點或jQuery對象匹配的元素。

3.2. 語法 1

$(selector).parentsUntil(selector,filter)

3.3. 參數

3.4. 語法 2

$(selector).parentsUntil(element,filter)

3.5. 參數

3.6. 如果不匹配或未應用選擇器或對象(selector或element), 則將選區所有祖先元素; 在這種情況下, 該方法選取的元素與未提供選擇器時的parents()方法相同。

3.7. 該方法接受可選的選擇器表達式作為其第二參數。如果應用這個參數, 則將通過檢測元素是否匹配該選擇器對元素進行篩選。

3.8. 例子

3.8.1. 代碼

<!DOCTYPE html> <html><head><meta charset="utf-8" /><title>parentsUntil()方法</title><script type="text/javascript" src="jquery.js"></script><script type="text/javascript">$(document).ready(function(){$('#btn1').click(function(){$("b").parentsUntil('div').css({"color":"red","border":"2px solid red"});});$('#btn2').click(function(){$("b").parentsUntil('div', '.myUl').css({"color":"red","border":"2px solid red"});});$('#btn3').click(function(){$("b").parentsUntil($('div')).css({"color":"red","border":"2px solid red"});});$('#btn4').click(function(){$("b").parentsUntil($('div'), '.myUl').css({"color":"red","border":"2px solid red"});});$('#btn5').click(function(){$("b").parentsUntil(document.getElementsByTagName('div')).css({"color":"red","border":"2px solid red"});});$('#btn6').click(function(){$("b").parentsUntil(document.getElementsByTagName('div'), '.myUl').css({"color":"red","border":"2px solid red"});});$('#btn7').click(function(){$("b").parents().css({"color":"red","border":"2px solid red"});});});</script><style type="text/css">.ancestors div{width: 500px; float: left;}.ancestors div, .ancestors div *{ display: block;border: 2px solid lightgrey;color: lightgrey;padding: 5px;margin: 15px;}</style></head><body class="ancestors"> <span style="display: block;">body(曾曾祖父)</span><div>div(曾祖父)<ul class="myUl">ul(祖父) <li>li(直接父)<b>b元素</b></li></ul> </div><div>div(曾祖父)<ul class="myUl">ul(祖父) <li>li(直接父)<b>b元素</b></li></ul> </div><span style="display: block; clear: left;"><button id="btn1">祖先父元素(選擇器表達式)</button> <button id="btn2">過濾的祖先元素(選擇器表達式)</button><button id="btn3">祖先父元素(jQuery對象)</button> <button id="btn4">過濾的祖先元素(jQuery對象)</button><button id="btn5">祖先父元素(DOM對象)</button> <button id="btn6">過濾的祖先元素(DOM對象)</button><button id="btn7">未應用選擇器</button></span></body> </html>

3.8.2. 效果圖

4. offsetParent()方法

4.1. offsetParent()方法返回最近的祖先定位元素。

4.2. 定位元素指的是元素的CSS position屬性被設置為relative、absolute或fixed的元素。

4.3. 語法

$(selector).offsetParent()

4.4. 例子

4.4.1. 代碼

<!DOCTYPE html> <html><head><meta charset="utf-8" /><title>offsetParent()方法</title><script type="text/javascript" src="jquery.js"></script><script type="text/javascript">$(document).ready(function(){$('#btn1').click(function(){var x = $("span").offsetParent();alert("span最近的祖先定位元素名稱: " + x[0].tagName);});});</script><style type="text/css">* {margin: 0; padding: 0;}div {width: 600px;height: 200px;background: red;/*同時注釋掉p和div的定位, 運行返回HTML*/position: relative;}p {background: pink;width: 300px;height: 100px;/*可以嘗試注釋掉p的定位, 運行返回DIV*/position: absolute;top: 30px;left: 50px;}</style></head><body><div><p><span>offsetParent()方法返回最近的祖先定位元素。</span></p> </div><br /><button id="btn1">最近的祖先定位元素</button></body> </html>

4.4.2. 效果圖

5. closest()方法

closest()方法獲得匹配選擇器的第一個祖先元素, 從當前元素開始沿DOM樹向上。

5.1. 語法

$(selector).closest(selector)

5.2. 參數

5.3. 詳細說明

5.3.1. 如果給定表示DOM元素集合的jQuery對象, .closest()方法允許我們檢索DOM樹中的這些元素以及它們的祖先元素, 并用匹配元素構造新的jQuery對象。.parents()和.closest()方法類似, 它們都沿DOM樹向上遍歷。兩者之間的差異盡管微妙, 卻很重要:

5.4. 例子

5.4.1. 代碼

<!DOCTYPE html> <html><head><meta charset="utf-8" /><title>closest()方法</title><script type="text/javascript" src="jquery.js"></script><script type="text/javascript">$(document).ready(function(){$('#btn1').click(function(){$("b").closest('li b').css({"color":"red","border":"2px solid red"});});$('#btn2').click(function(){$("b").closest('.myUl').css({"color":"red","border":"2px solid red"});});});</script><style type="text/css">.ancestors div{width: 500px; float: left;}.ancestors div, .ancestors div *{ display: block;border: 2px solid lightgrey;color: lightgrey;padding: 5px;margin: 15px;}</style></head><body class="ancestors"> <span style="display: block;">body(曾曾祖父)</span><div>div(曾祖父)<ul class="myUl">ul(祖父) <li class="myLi">li(直接父)<b>b元素</b></li></ul> </div><div>div(曾祖父)<ul class="myUl">ul(祖父) <li>li(直接父)<b>b元素</b></li></ul> </div><span style="display: block; clear: left;"><button id="btn1">祖先元素(包含自身)</button> <button id="btn2">過濾的祖先元素</button></span></body> </html>

5.4.2. 效果圖

總結

以上是生活随笔為你收集整理的020_遍历祖先的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。