在| DOM Ready之后添加元素并使它们可见,而无需事件处理程序

问题描述

| 在dom准备就绪后添加元素,而无需事件处理程序:
jQuery(document).ready(function() {
var $body = $(\'body\');
var strLoading = \'<div id=\"ajax_loader\" style=\"display:none\">Loading ...</div>\';
$body.append(strLoading); // add loading text to dom
var $Loading = $(\'#ajax_loader\');

$(\'some unrelated element already available at time of dom ready\').click(function{

$Loading.toggle(); // show loading message

LOAD SOME CONTENT THROUGH AJAX

$Loading.toggle(); // hide loading message

});
});
我现在想按需显示和隐藏它,如下所示:
$(\'some unrelated element already available at time of dom ready\').click(function{

$Loading.toggle(); // show loading message

LOAD SOME CONTENT THROUGH AJAX

$Loading.toggle(); // hide loading message

}); 
似乎该元素在dom中不可用。我如何添加它并使其在以后可见。 更新: 我不知道为什么它最终没用,我只是创建了这个小提琴,并且在那儿工作得很好。 摆弄     

解决方法

您发布的代码没有错。尝试在其他地方找到问题。 您对哪个元素有疑问?您为什么认为该元素不可用?您是否尝试过$()。length或类似的东西?如果切换似乎没有效果,则可能是由于您未与我们共享其他JS或CSS。     ,您只需在结束body标签之前添加脚本即可。