html页面中的Jquery脚本不起作用

时间:2015-07-05 14:27:42

标签: javascript jquery

我的WP网站上有一个php页面,我试图直接在php中添加一个Jquery脚本。 基本上是这样的,结构...... **

<?php
/*
Template Name: Gallery Page
*/
?>
<?php get_header(); ?>


<?php
     //here i have my working php code
?>               
      //here some HTML           




  <script  language="JavaScript" type="text/javascript"    src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> 



                           alert("hi");


 </script>


        <?php
                endwhile;

                    else :

                    // no rows found

                    endif;



        ?>


 <div class="spacing"></div>

<?php get_footer(); ?>

任何人都知道为什么我的javascript代码不能正常工作,如果我像我在脚本中设置的那样设置。如果我只输入

,它就可以了
<script>

 alert("Hi");

</script>

另外:如果我在页脚中链接jquery,并使用上面的代码在我的站点中调用外部脚本,它就可以了。警报开始。 谁知道为什么?我做的似乎是正确的,我正在努力克服这一点。

提前致谢

3 个答案:

答案 0 :(得分:1)

从脚本代码中删除language

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

并且还要确保在调用警报之前关闭脚本标记。实际上只是完全删除警报。

重要提示:由于您使用的是WordPress,因此您不需要在页面中包含jQuery,因为从一开始就提供了WordPress。

在WordPress中包含main.js脚本文件;

  • 创建functions.php文件
  • 将以下代码段粘贴到此文件中:
  • <?php
        function include_my_scripts() {
          wp_enqueue_script('main', 'scripts/main.js', array('jquery'), '', true);
        }
        add_action('wp_enqueue_scripts', 'include_my_scripts');
    ?>
    

    这会将脚本命名为main,它位于scripts/main.js,它依赖于jQuery,它没有版本,它应该包含在页面底部。

    检查WordPress codex以获取更多信息。

    此外,脚本应该从functions.php完成,而不是从您的模板中完成。

    答案 1 :(得分:0)

    像@Chrillewoodz所说,language属性已被弃用。此外,您无法在具有<script>属性的src代码中编写代码。你必须在两者之间做出选择。您应该将alert()移至单独的<script>标记。您还可以自行关闭加载外部脚本的标记:<script src=... />

    答案 2 :(得分:0)

    由于您的问题与WordPress有关,因此您必须使用enqueue_scripts函数来加载JS。

    如果是普通JS,如前面的答案所述,您可以使用<script type="text/javascript" src="...url..."></script>从给定的URL加载脚本或<script type="text/javascript">...code...</script>来执行JS。

    参考: https://developer.wordpress.org/reference/functions/wp_enqueue_script/