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
なぜこのような振る舞いになるのか、誰にも分かりますか?