2012-04-10 84 views
2

的下一個元素比方說,我有這樣一些結構:獲得同類型

<ul> 
    <li> 
     <input .../> 
    </li> 
    <li> 
     This item doesn't have an input 
    </li> 
    <li> 
     <input .../> 
    </li> 
    <li> 
     <input .../> 
    </li> 
</ul> 

給定參考input要素之一,我怎樣才能在列表中的下一個或前input


編輯:一些<li>元素沒有輸入;我需要代碼來處理這些情況。

+0

您想如何處理的開始/結束?環繞或找不到? – tvanfosson 2012-04-10 00:33:19

+0

@tvanfosson包裝會很好,但它不是非常重要。 – 2012-04-10 00:41:56

回答

1

我結束了使用的東西通過this answer啓發:

var inputs = $("input"); 
var currentIndex = inputs.index(this); 
var next = inputs.filter(function (index) { return index == currentIndex + 1; }) 
+1

通過'inputs'的長度修改'currentIndex + 1',你可以得到環繞效果。 – tvanfosson 2012-04-10 02:00:19

+0

@tvanfosson好主意,謝謝! – 2012-04-10 09:59:10

8

如果this是當前輸入:

$(this).closest('li').next('li').find('input'); 
+0

工作。有沒有一種方法可以減少文檔的實際結構?例如,我希望能夠將'ul'更改爲其他結構(表格,文章等)。另外,一些'li'沒有輸入;我需要處理。 – 2012-04-10 00:37:14