当我在jQuery对象上调用.hide()
时,该对象的样式为display: none
。当您尝试检查此对象是否被object.is(':hidden')
隐藏时,它返回true,但是当您尝试使用相同的jQuery方法检查其第一个子进程时,有些返回false而有些返回true。
样品:
<div id="parentContainer">
<div id="childContainer"></div>
<p id="childContainer"></p>
</div>
$('#parentContainer').hide();
$("div[id='childContainer']").is(':hidden') // returns false
$("p[id='childContainer']").is(':hidden') // returns true
任何人都知道为什么行为会像这样?
答案 0 :(得分:1)
这可能与页面上有两个相同的ID有关。
如果您有重复项,则html中的Id应该是唯一的,那么您应该使用class,否则您的代码将不会通过w3c验证等。
同样在你的帖子中你放了$(“div [id ='childContainer']”)。is(':hidden') - &gt;返回false但是当我在jsfiddle中尝试它时我得到了真的。