Javascript 页面内的内联jQuery脚本 在页面的中间(内联)中不可能运行jQuery吗?< /P>

Javascript 页面内的内联jQuery脚本 在页面的中间(内联)中不可能运行jQuery吗?< /P>,javascript,jquery,wordpress,Javascript,Jquery,Wordpress,我试图在自定义WordPress模板中运行此代码 <script type="text/javascript"> jQuery(document).ready( function() { jQuery(".upb_row_bg").css("filter","blur(30px)"); }); </script> jQuery(文档).ready(函数(){ jQuery(“.upb_row_bg”).css(“过滤器”、“模糊(30px)”); }); 然而,

我试图在自定义WordPress模板中运行此代码

<script type="text/javascript">
jQuery(document).ready( function() {
  jQuery(".upb_row_bg").css("filter","blur(30px)");
});
</script>

jQuery(文档).ready(函数(){
jQuery(“.upb_row_bg”).css(“过滤器”、“模糊(30px)”);
});
然而,它似乎对所讨论的元素没有影响。事实上,if甚至不能选择元素- log('jQuery(.upb\u row\u bg).length;显示0

如果我将相同的代码放在wordpress wp_footer()函数后面的结束标记之前,它就可以工作。如果我将代码放在wp_footer()之前,它就不能工作

有什么想法吗?我在另一个页面上有另一个脚本,我可以使用wordpress过滤器生成的简单内联脚本

<script>jQuery( "figure" ).replaceWith( "<div class=\”new-class\”>” + jQuery( "figure" ).html() + "</div>" );</script>
jQuery(“figure”).replace为(“+jQuery(“figure”).html()+”);
这就像预期的那样工作,即使这个代码段没有触发它的事件,它只是运行并替换了前面的元素。所以内联脚本必须工作


我有点困惑。

你的语法看起来很奇怪

<script type="text/javascript">
$(document).ready(function() {
  $('.upb_row_bg').css('filter', 'blur(30px)');
});
</script>

或者,如果你真的需要
数字
的话

<script>$('.figure').addClass('new-class'); $('.new-class').removeClass('figure')</script>
$('.figure').addClass('new-class');$('.new-class').removeClass('figure'))

它会抛出任何错误吗?
.upb\u row\u bg
是静态元素还是动态生成的?它是静态的(由WordPress插件生成)。控制台中没有错误。看起来
.upb\u row\u bg
元素没有“打印”在运行代码时将脚本添加到DOM中。这很有意义。是否要测试它?最佳做法是将脚本放在关闭的
标记之前,原因如下。您可以通过创建一个静态HTML文件并在正文中包含一个
元素来测试它。然后运行
console.log($('p').length)
元素前一次,元素后一次。结果应显示
0
1
“figure”是WooCommerce()使用的HTML标记。此代码段是内联jQuery工作的一个示例。该代码段用div(和一个新类)替换figure标记。我遇到的问题是我发布的第一个代码块。但事实证明,调用代码时DOM还没有准备好。使用jQuery(window)。load(function()启动它修复了这一问题。
<script>$('.figure').addClass('new-class'); $('.new-class').removeClass('figure')</script>