无法获取要在页面上执行的自定义Java脚本

时间:2020-04-20 作者:fudge

我有一段简单的“hello world”代码,我正试图在页面上执行。我使用PHP代码片段添加它:

add_action( \'wp_head\', function () { ?>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">

jQuery(document).ready(() => {
  jQuery(\'div#tm-extra-product-options\').click(() => {
    console.log("it\'s working!")
  });
});
</script>
<?php } );
我可以让它显示在页面源代码中,如果我将其直接粘贴到控制台中,效果很好,但是当我加载页面并尝试它时,我什么也得不到。我知道jQuery正在加载,因为它是在控制台中定义的,没有我的干预(以前不是这样),但是代码本身似乎根本不起作用。

2 个回复
最合适的回答,由SO网友:Sanjay Gupta 整理而成

Try this.

add_action ( \'wp_head\', \'custom_script_hook\');
function custom_script_hook() {

?>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<?php 

    $output=\'<script>
        jQuery(document).ready(() => {
          $("div#tm-extra-product-options").click(() => {
            console.log("it working!")
          });
        });
        </script>\';
    echo $output;
}
SO网友:K H

在Wordpress中使用jQuery总是令人头痛。只需尝试将第二个jQuery替换为$符号即可。我想一旦打开jQuery标签,就需要在里面继续使用$符号:如下所示

add_action( \'wp_head\', function () { ?>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">

jQuery(document).ready(() => {
  $(\'div#tm-extra-product-options\').click(() => {
    console.log("it\'s working!")
  });
});
</script>
<?php } );