我想从排索引行隐藏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/ –