2010-10-27 26 views
3

這裏是HTML代碼示例:如何在JQuery中使用當前類之後的類獲取元素?

<div id="current_element">Current element</div> 
Many unknown tags... 
<div class="target">This is target element</div> 
Many other tags... 

請注意,目標元素和當前元素可能不相同父下,所以我不能.nextAll找到它(「目標」),對不對?

有沒有簡單找到它的方法?謝謝!

+0

但是如果他們只是一個接一個,他們是在同一父母之下? – joni 2010-10-27 08:02:10

+0

例如參見下面的代碼:

Current
Target
他們不是在同一個父權? – Dong 2010-10-27 08:04:31

+0

那麼你怎麼知道哪個元素是目標?請清楚解釋規則,然後這應該引導你回答 – 2010-10-27 08:08:44

回答

2

在評論你的HTML是一個在問題

<div id="area1"> 
    <div id="current_element">Current</div> 
</div> 
<div id="area2"> 
    <div class="target">Target</div> 
</div> 

我會做什麼是一個div來包裝他們的不同:

<div id="mainparent"> 
    <div id="area1"> 
    <div id="current_element">Current</div> 
    </div> 
    <div id="area2"> 
    <div class="target">Target</div> 
    </div> 
<div> 

然後我回去找的其他小孩:

//this = .current_element 
var $target = $(this).closest("#mainparent").find(".target"); 

我希望這有助於!

10

由於elemenets在文檔順序返回,您可以使用.index()查找下一個在一組包含兩個,像這樣:

var ce = $("#current_element"), all = $("#current_element, .target"); 
var target = all.eq(all.index(ce)+1); 

You can test it out here

+0

+1我在寫的東西中使用了它,它對我來說很有用,謝謝。信貸在我的代碼中的評論中給出。 – 2011-07-19 12:41:01

相關問題