如果我调用.hide()
一个元素,jQuery 会/可以在普通的 dom 选择器中选择它。
如果 jQuery 通常选择隐藏元素,那么只选择可见元素的正确方法是什么。我可以使用 css 选择器,还是有更有效的方法?
如果我调用.hide()
一个元素,jQuery 会/可以在普通的 dom 选择器中选择它。
如果 jQuery 通常选择隐藏元素,那么只选择可见元素的正确方法是什么。我可以使用 css 选择器,还是有更有效的方法?
是的。该hide
函数仅存储元素的 display css 属性的当前值,然后将其设置为none
. 所以 dom 选择器不会受到它的影响,除非它们尝试匹配具有特定display
css 值的元素。
在这里检查。
是的,它会计算隐藏元素。
是的,它只是为元素添加了一个 display:none 样式......另一方面,.remove() 不会显示在计数中。但这完全摆脱了它,除非您将值存储在某个地方,否则它是不可检索的。
我假设您想要做的是计算可见项目。我会改为执行以下操作:
$('.element').addClass('hide');
var count_of_visible_items = $('.element:not(".hide")').length;
console.log(count_of_visible_items);