Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使jQuery(document).ready(函数()在div打开时再次激发_Javascript_Jquery_Css - Fatal编程技术网

Javascript 使jQuery(document).ready(函数()在div打开时再次激发

Javascript 使jQuery(document).ready(函数()在div打开时再次激发,javascript,jquery,css,Javascript,Jquery,Css,如何使jQuery(document).ready(function())在激活覆盖div时再次启动? 我正在使用此功能隐藏a按钮: jQuery(function($) { jQuery(document).ready(function() { jQuery( '.theme-actions a.button.button-primary.customize.load-customize.hide-if-no-customize' ).css("display","none"); }); })

如何使jQuery(document).ready(function())在激活覆盖div时再次启动?

我正在使用此功能隐藏a按钮:

jQuery(function($) {
jQuery(document).ready(function() {
jQuery(
'.theme-actions a.button.button-primary.customize.load-customize.hide-if-no-customize'
).css("display","none");
});
});
具有相同类的相同按钮存在于名为.theme wrap的“覆盖”中,而在.theme wrap中,a.button CSS看起来是这样的(区别在于
.active theme
):

如果我在打开.theme wrap overlay的情况下重新加载页面,按钮就会消失,因为jQuery document ready函数会再次启动

我尝试将两个CSS规则添加到一个函数中

jQuery(
'.theme-actions a.button.button-primary.customize.load-customize.hide-if-no-customize,
.theme-actions .active-theme a.button.button-primary.customize.load-customize.hide-if-no-customize
    ').css("display","none");
但它不起作用

当覆盖打开时,如何使文档准备好再次启动

2014年10月14日更新


正如在下面的回答中指出的那样:在这个例子中不需要jQuery。我使用的CSS对于每个div都是相同的-原始的和覆盖的-所以一个简单的
{display:none}
规则添加到管理样式表就足够了。

一旦覆盖被激活,运行以下命令:

jQuery('.theme-actions .active-theme a.button.button-primary.customize.load-customize.hide-if-no-customize
').css("display","none");
或者最好还是创建一个函数:

function hideElement( sel) {
    $( sel ).hide(); //.hide() is equiv to .css('display', 'none');
}
然后使用第一个选择器调用
DOM ready
处的函数:

$(document).ready(function() {
    hideElement( 'selector-1' );
});
hideElement( 'selector-2' );
然后,当覆盖完全激活时,使用适当的选择器调用该函数:

$(document).ready(function() {
    hideElement( 'selector-1' );
});
hideElement( 'selector-2' );

不要再次使用
$(document).ready()
函数,请尝试将CSS直接添加到样式表中。

所使用的覆盖插件是什么?它是如何加载的注意:
jQuery(函数($){
与document ready相同,因此不需要使用`jQuery(document).ready(函数(){..})在itI内部,我假设加载文档时DOM中不存在
.active主题
覆盖,这就是它不起作用的原因。我不确定您是否要启动
$(document).ready()
再次运行,您的代码中也有一些冗余。我们可以看到覆盖的代码吗?还有,您不只是将CSS直接添加到样式表中的原因吗?解决方案可能类似于@Matthew Brown:为什么我没有想到这一点?这是可行的;我只是测试了它。更简单、更清晰;不需要jQuery。添加您的评论作为回答,我会接受的。谢谢。你说得对;谢谢。不需要jQuery。我不得不连接到admin添加一个带有{display:none}规则的新样式表,但这很容易。谢谢,但正如上面指出的,没有必要使用jQuery;我把事情弄得太复杂了。