我有几个div
元素,用户可以在某些时候隐藏它们。
发生这种情况时,会触发jQuery('div').hide('blind').remove();
,因此首先会从视口中隐藏元素,然后从 DOM 中删除元素。从 DOM jQuery-UI 中删除元素后,将som垃圾箱放在后面(隐藏和删除每个div的一个trash-div):
<div class="ui-effects-wrapper" style="font-size: 100%; background: none repeat scroll 0% 0% transparent; border: medium none; margin: 0px; padding: 0px; position: relative; width: 1032px; height: 0px; float: none; overflow: hidden;"></div>
现在我正在使用jQuery('divs-wrapper-selector').find('.ui-effects-wrapper').remove();
删除它们,但我想知道为什么 jQuery-UI 这样做,如果这有副作用。
答案 0 :(得分:3)
您的.hide()
来电尚未及时完成.remove()
来电。您需要提供.hide()
方法的回调,如下所示:
$('target-elem').hide('blind', function () {
$(this).remove();
});
有关详细信息,请参阅http://api.jqueryui.com/hide/