[英]How to get the closest or previous object independent of the structure of the document with jQuery?
范例1:
<ul>
<li id="o1" class="elem">foo1</li>
<li id="o2" class="elem">foo2</li>
<li id="o3" class="elem">foo3</li>
</ul>
**$('#o2').exactly_previous('.elem') ----> returns #o1**
范例2:
<ul>
<li id="o1" class="elem">foo1
<ul>
<li id="o11" class="elem"></li>
</ul>
</li>
<li id="o2" class="elem">foo2</li>
<li id="o3" class="elem">foo3</li>
</ul>
**$('#o2').exactly_previous('.elem') ----> returns #o11
$('#o11').exactly_previous('.elem') ----> returns #o1**
范例3:
<ul>
<li id="o1" class="elem">fooX</li>
</ul>
<ul>
<li id="o2" class="elem">fooX</li>
</ul>
**$('#o2').exactly_previous('.elem') ----> returns #o1**
范例4:
<a id="o1" class="elem">fooX</a>
<ul>
<li id="o2" class="elem">fooX</li>
</ul>
**$('#o2').exactly_previous('.elem') ----> returns #o1**
希望您能理解我的問題! 謝謝。
像這樣:
function exactly_previous($this, selector)
{
var $all = $(selector);
return $all.eq($all.index($this)-1);
}
測試:
將其轉換為jQuery插件留給讀者練習。
為什么不看看jQuery .closest() API。 可能您需要一些東西。
另外,還要看看.find() API,它可能有助於遍歷DOM對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.