jquery选择方法

时间:2011-06-01 21:03:01

标签: jquery-attributes

我喜欢使用hide()和show()方法,但我遇到过某人的脚本,他们从不使用它。
相反,我看到他们使用attr()来处理与显示有关的任何内容。

$("#element").attr("style", "visibility:hidden");
$("#element").attr("style", "visibility:visible");

这只是纯粹的优惠吗? 或者使用一个与另一个相比更有利吗?

3 个答案:

答案 0 :(得分:3)

有区别。以.hide()为例:

  

这大致相当于调用.css('display', 'none'),(...)

visibilitydisplay是两种不同的CSS属性。使用visibility: hidden;会为布局中的元素留出空间,但不会显示它。

另一个(次要的)区别是调用.attr("style", '...')将覆盖可能在元素上设置的所有其他样式。

答案 1 :(得分:1)

Hide()和show()有效地从源HTML中删除元素。

可见性规则仅影响您是否可以看到元素'内容;他们占用的空间仍然保留,并成为一个空白点。

答案 2 :(得分:1)

肯定存在差异。 show()和hide()方法允许您通过设置显示或隐藏的持续时间来使用动画。此外,隐藏将跟踪当前显示设置(内联,阻止等)。 http://api.jquery.com/hide/

使用.css('display','none')或.css('display','block')可能更快,但确实提供的功能更少。

当你使用show()/ hide()或.css()控制显示时,优先根据你想要完成的事情。

还有一点需要注意。 TheDramaLama说hide()从源代码中删除了元素。我认为TheDramaLama的意思是它会在位置上删除它,但它仍然保留在源代码中(也就是DOM)。