2009-06-11 60 views
16

如何從jQuery選擇中獲取上一個或下一個元素?使用jQuery從選擇中獲取下一個或上一個元素

基本上,我將有一組元素,說所有輸入:

$('input') 

當我有一個輸入,我還需要得到一個和下一個輸入。 喜歡的東西:

$(this).prev('input') 
$(this).next('input') 

然而,輸入是不是兄弟姐妹,我不希望只是接下來的DOM元素。我想要jQuery選擇中的下一個元素(在這種情況下是輸入)。


我知道我可以通過一個jQuery選擇與

.each(function(... 

迭代,但我並不需要去了所有的元素,只是一個之前和之後。

元素也將動態排序(使用jQuery UI排序)。

+0

等等都是未來,兒童和以前的父母? – TStamper 2009-06-11 16:02:50

+0

他們在不同的div容器中排序。 – chrismar035 2009-06-11 16:06:59

回答

18

你可以做這樣的事情:

var inp = $('input'); 

var index = inp.index(this); 
var next = inp[index+1]; 
var prev = inp[index-1]; 

注意prevnext,就像這不是jQuery的對象,但現在DOM對象。爲了讓它們成爲jQuery對象,你需要將它們包裝在$()函數中。

8

的jQuery已經內置支持所要求的你,

$($('input')[0]).next('input') 

next

$($('input')[0]).prev('input') 

previous

相關問題