如何解决WordPress自定义页面中的"TypeError:$不是函数"错误?

Rad*_*dek 7 html wordpress jquery

我通过插件创建了自定义WordPress页面,我想使用此代码切换开/关注释

<script type="text/javascript">                 
  $("comment_switch").click(function () {
    $("comments").toggleClass("hidden");
  });
</script> 
Run Code Online (Sandbox Code Playgroud)

我把它放在<body>标签内.为了生成<head>标签,我使用了标准的WordPress功能wp_head();.当我检查页面的源代码时,我可以在head部分看到<script src="http://10.1.1.6/wp-includes/js/jquery/jquery.js?ver=1.10.2" type="text/javascript">我认为足以使用jQuery.

有人可以帮助我使jQuery代码工作吗?可以在此处找到该页面的完整源代码

Rok*_*jan 29

您可能缺少一些.类标记和DOM就绪函数

jQuery(function($) { // DOM is now ready and jQuery's $ alias sandboxed

    $(".comment_switch").click(function () {
        $(".comments").toggleClass("hidden");
    });

});
Run Code Online (Sandbox Code Playgroud)

  • @Radek很可能是因为wordpress使用`$ .noConflict`,这使得`$`不等于`jQuery`.您可能只需将`$`替换为`jQuery`以使代码正常工作,假设它紧接在结束体标记之前.这个答案中的代码使它工作,因为它在外部使用`jQuery`,然后接受传递的参数(恰好是`jQuery`),其名称为`$`,然后在代码中使用. (2认同)