2011-10-01 111 views
4

有沒有一種簡單的方法可以在jQuery中獲得li:gt(-1)?或者大於或等於零,使用jQuery的:gt過濾器?有沒有簡單的方法來獲取li:gt(-1)在jquery中?

當我使用下面的代碼,它沒有采取li:gt(-1)

$('#Input li:gt(-1)').each(function() 
+2

是不是索引「大於或等於零」只是他們所有?在這種情況下,你根本不需要':gt'。 –

+0

你能說清''gt(-l)'是什麼意思嗎?首先是否定'負'?你在尋找':lt()'嗎? –

+0

正確,li:gt(-1),這是否定的(一)-l –

回答

5

更改您的代碼爲0而不是-1啓動,並做了「大於或 - 等於到」選擇:

$('.someClass:eq('+i+'), .someClass:gt('+i+')') 

或者,用少許減少重複:

$('.someClass').filter(':eq('+i+'), :gt('+i+')') 
+0

感謝艾略特瞭解我的問題,其工作很好 –

+0

感謝像魅力一樣工作::gt(-1) - >:eq(0),:gt(0) – Prozi

0

如果你想在指數「大於或等於零」的元素,那麼你只需要的所有元素,你不需要:gt僞選擇:

$('#Input li').each(function() { 
    //Do whatever 
}); 

更新(基於評論)

我還沒有完全確定你的目標是什麼,但如果你想知道當前迭代中提到的元素的索引,你可以使用each第一個參數:

$('#Input li').each(function(index, elem) { 
    //index is the index of the current element 
}); 
+0

$('#input li:gt')將作爲從零開始的計數器使用,並將添加到它 –

+0

我不確定它是否與您一樣,但看到我的編輯。 –

+0

如果我把$('#input li:gt(0)')從1開始,li:gt(-l)不起作用,我想讓選擇器從某個索引開始。 –

4

那麼.slice?傳遞一個索引意味着從該索引開始的任何內容,因此添加1即可得到gt而不是gte

$('#Input li').slice(1 - l) 
0

如果我理解這個問題,我想你只需要:

$('#Input li').each(function()

它將返回是從0

索引的jQuery對象因此每場比賽將是0或更高。

相關問題