【发布时间】:2017-05-24 17:55:16
【问题描述】:
所以我创建了一个带有 DIV 的数据表,我想在页面加载时隐藏它。 这是div:
<div class="user" id="userinfo_46"><b>Name: </b>benjy corpuz<br><b>Phone Number: </b>N/A<br><b>Alternate Phone Number: </b><br><b>Email: </b>N/A<br><b>Best Time To Reach: </b>anytime<br><b>Location: </b>new yrork, NY<br><b>Case Description: </b>confidential<br></div>
我确实试过这个:
$('.user').hide();
还有这个:
$(document).on("pageload", ".user",function(){
$(this).hide();
});
但什么都没有。不确定在加载时是否有其他隐藏方式,不能使用点击等。
这是用户 Hodrobond 的一个 Jfiddle,这很好地说明了问题:
https://jsfiddle.net/fcpambdm/
我得到的答案似乎不明白该元素是动态的,因此它不能像常规元素一样隐藏。
【问题讨论】:
-
页面加载时DOM中是否存在
div,还是在页面加载后创建的?尝试在$('.user').hide()调用上设置断点,然后查看检查$(".user")时会得到什么 -
Here 是一个 jsfiddle,展示了您的问题的可能简化案例。 1.页面加载完毕。 2. 具有“用户”类的元素被隐藏。 3. 动态创建的表被创建(包括“user”类的元素)。
-
@Hodrobond 我会将此添加到我的问题中,完全正确您所取得的成就。这正是问题所在。我已经通过点击或其他方式完成了此操作,但不确定页面加载事件。
-
问题本质上是“隐藏发生在元素存在之前”,解决方案可能会沿着“元素存在之后隐藏”的路线,所以我们问“它什么时候存在?”。动态元素创建是否有任何回调?这可能是最优雅的解决方案。
-
@Hodrobond 检查我的答案,很简单。但是感谢您的帮助,您得到了问题的要旨。你提到的回调让我想到了解决方案 thx :)
标签: javascript jquery html css