请问jQuery会选择隐藏的元素

时间:2012-10-10 04:49:16

标签: javascript jquery

如果我在一个元素上调用.hide(),jQuery / jQuery会在正常的dom选择器中选择它。

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

3 个答案:

答案 0 :(得分:4)

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

检查here

查看jQuery hide function documentation

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

我假设您要做的是计算可见项目。我会改为做以下事情:

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

var count_of_visible_items = $('.element:not(".hide")').length;
console.log(count_of_visible_items);