我想從排索引行隱藏1至3下面的代碼是不工作:如何申請和運營商的jQuery
$("table").find("tr:gt(1)").find("tr:lt(3)").each(function() { $(this).hide() });
我想從排索引行隱藏1至3下面的代碼是不工作:如何申請和運營商的jQuery
$("table").find("tr:gt(1)").find("tr:lt(3)").each(function() { $(this).hide() });
嘗試使用the slice
method。
從文檔:
描述:減少匹配元素的要由索引範圍
.slice指定的一個子集(開始[,結束])
start一個整數,指示元素開始從零開始的位置lected。如果爲負數,則表示與該集合的結尾有偏移。
end一個整數,指示元素停止選擇時從零開始的位置。如果爲負數,則表示與該集合的結尾有偏移。如果省略,範圍會一直持續到設定的結束。
代碼:
$("table tr").slice(1, 3 + 1).hide();
還要注意的是the hide
method不需要你使用each
:
隱藏匹配的元素
你可以使用filter
到匹配的元素集合減少那些正確的範圍內:
$("table tr").filter(function(i) {
return i > 1 && i < 3;
}).hide();
請注意,我沒有使用each
遍歷集合末匹配的元素,因爲hide
,就像大多數jQuery方法一樣,它也適用於集合中的所有元素。
這是錯誤的。它只包含索引2.您需要使用'> ='和'<='才能正常工作。 –
一個選擇?
$('table tr:gt(0):lt(4)').hide();
我不能告訴你,如果要包括性指數1
和3
,所以現在我會假設你做的。
如果你沒有,你可以使用:
$('table tr:gt(1):lt(3)').hide();
但是,這將僅僅是指數2
:
$('table tr:eq(2)').hide();
如果你需要保持$('table')
爲基數選擇,你可以使用find
方法:
$('table').find('tr:gt(#):lt(#)').hide().end().chain().more().stuff()
第一個隱藏所有索引> 0。第二個隱藏2-4。第三個隱藏2就像你說的。第四個會和其他人有同樣的問題。 –
你不能使用? 。奇()?我不認爲你需要使用.each .odd() – c0d3Junk13
基於0的索引是否正確? – zzzzBov
@zzzzBov:'gt'和'lt'是從0開始的。 http://api.jquery.com/lt-selector/ –