如何选择和隐藏HTML文件(DOM)中除前5个元素之外的所有元素

时间:2011-11-22 17:42:05

标签: jquery html dom hide coffeescript

我正在尝试使用coffeescript / jQuery来执行以下操作:

1)检索html中显示的所有“主题”(见下文)

2)隐藏显示的所有主题,但列出的前5个除外。

enter image description here

我尝试执行以下操作但无法正常工作

//Retrieve the entire list of and hide all but the first 5 topics in the list
$(".topics .topic")[5..-1].hide()

有人可以告诉我如何从HTML文档中正确检索主题列表,然后隐藏除前5个主题之外的所有主题吗?

3 个答案:

答案 0 :(得分:12)

$(".topics .topic").slice(5).hide();

http://api.jquery.com/slice/

答案 1 :(得分:3)

查看jQuery gt() selector

$(".topics .topic:gt(4)").hide();

答案 2 :(得分:3)

您的代码

$(".topics .topic")[5..-1].hide()

应该有效,因为它编译为$(".topics .topic").slice(5).hide()jQuery's slice完全符合您的要求。所以我猜你的代码在DOM处于正确状态之前运行。你试过吗

$(document).ready -> $(".topics .topic")[5..-1].hide()

?你做什么

alert $(".topics .topic").length

在你的剧本中的同一点?

如果问题不在于选择,那么问题必须在hide(),这可以通过修改目标的内联CSS来实现。您可能会在代码中的其他位置覆盖CSS。使用“Inspect Element”获取详细信息。