【发布时间】:2011-09-29 16:10:37
【问题描述】:
为什么尚未添加到 DOM 的 tr 元素在 jQuery 中被视为可见,而 div 则不可见?
$('<tr></tr>').is(':visible') // returns true
$('<div></div>').is(':visible') // returns false
我正在使用 jQuery 1.4.2。我在 Firefox 5、IE 9、Chrome 12、Safari 5 和 Opera 11.5 中对此进行了测试。
分辨率
在我可以升级到更新版本的 jQuery 之前,我已经编写了一个在我的应用程序中使用的解决方法:
$('<tr></tr>').is('body *:visible') // returns false
$('<div></div>').is('body *:visible') // returns false
感谢大家的帮助!
【问题讨论】:
-
我无法在 Firefox 5 上 jsfiddle 上可用的任何 jQuery 版本中重现这一点。两者都是
false。 -
@tjm:我可以用 1.4.2 重现它,但是 jsfiddle 没有那个版本。
-
很奇怪。可能是 1.4.2 中的错误? (或者错误可能不是正确的词;但肯定是不一致)。
-
旁注:尝试将您的 jQuery 更新到 1.6.2 :)
标签: jquery jquery-1.4