7

如果我调用.hide()一个元素,jQuery 会/可以在普通的 dom 选择器中选择它。

如果 jQuery 通常选择隐藏元素,那么只选择可见元素的正确方法是什么。我可以使用 css 选择器,还是有更有效的方法?

4

3 回答 3

4

是的。该hide函数仅存储元素的 display css 属性的当前值,然后将其设置为none. 所以 dom 选择器不会受到它的影响,除非它们尝试匹配具有特定displaycss 值的元素。

在这里检查。

查看jQueryhide函数文档

于 2012-10-10T04:59:43.513 回答
1

是的,它会计算隐藏元素。

于 2012-10-10T04:50:53.740 回答
1

是的,它只是为元素添加了一个 display:none 样式......另一方面,.remove() 不会显示在计数中。但这完全摆脱了它,除非您将值存储在某个地方,否则它是不可检索的。

我假设您想要做的是计算可见项目。我会改为执行以下操作:

$('.element').addClass('hide');

var count_of_visible_items = $('.element:not(".hide")').length;
console.log(count_of_visible_items);
于 2012-10-10T05:24:05.910 回答