$不是wordpress中的函数

时间:2014-09-15 17:07:10

标签: jquery wordpress

我正在努力使网站响应,但我需要对侧边栏进行重新排序,使其显示在内容下方。 我在另一个答案中找到了这个脚本,但它告诉我$不是控制台中的函数。我想这是关于jquery以及wordpress如何使用文档准备好处理它的事情,但我不知道语法是什么和东西......

<script type="text/javascript">
$(window).resize(function() {
if ( $(window).width() < 768 ) {
    $("#firstsidebar").insertAfter("#maincontent");
}
else{
    $("#maincontent").insertAfter("#firstsidebar");
}
});

$(document).ready(function(){
if ( $(window).width() < 768 ) {
    $("#firstsidebar").insertAfter("#maincontent");
}
});
</script>

EDIT。 好。由于这个问题,我得到了很多负面评价。也许它是超级简单和愚蠢的,但我不知道javascript和jquery,我只是“有点”了解它。

2 个答案:

答案 0 :(得分:2)

WordPress在“无冲突”模式下使用jQuery,这意味着默认情况下你不能使用$。原因是其他javascript库也使用$。

要解决这个问题,你可以用jQuery替换$的每个实例,或者你可以用这样的代码包装代码::

jQuery(document).ready(function($){

});

答案 1 :(得分:2)

当jQuery没有响应$时,通常是因为与另一个试图使用相同sigil的库发生冲突,或者CMS / Web服务器/环境设置为明确避免这种冲突。

您可以在通常使用的每个地方使用jQuery $。这几乎总是有效的。

或者您可以将调用包装在一个建立本地参数的函数中:

jQuery( document ).ready(function( $ ) {
    // You can use the locally-scoped $ in here as an alias to jQuery.
    $( "div" ).hide();
});

其他选项可用,包括定义您自己的自定义访问点(如jqJ$),甚至定义$以明确指向jQuery(或jQuery.noConflict()代理人)。其中许多是discussed in the jQuery documentation

您也可以通过在代码中尽早定义$来强制使用它:

$ = jQuery;

现在$将完全按预期工作。大概。 (除非或之前没有,因为上述JS库兼容性问题之一已经咬了你。此时你可能会决定回到一种更有条理,更有计划的方式来实现兼容性。)