jQuery ajax $没有定义,但仍然正确执行?

时间:2011-11-13 20:45:07

标签: javascript jquery ajax error-handling undefined

Firebug给我一个错误,指出“$未定义(70超出范围28)”

我不明白为什么因为代码执行得很好。代码查找具有“like”类的div,单击该div时,将值发送到ajax。以下是相关代码:

<div class="post" id="post-<?php the_ID(); ?>">
        <div id="post-<?php the_ID(); ?>-inside" class="inside">
            <div id="like_<?php the_ID(); ?>" class="like" style="position:absolute; right: 2.5em;">
                <a id="likebtn_<?php the_ID(); ?>" class="likeimgoff" href="#"><span></span></a>
            </div>
        </div>
</div>

$(document).ready(function() {
    likestatus = 1;
    dislikestatus = 1;

    $(document).on("click", ".like", function(){
        postID = $(this).attr('id').replace('like_', ''); 

有问题的具体行是:

postID = $(this).attr('id').replace('like_', ''); 

postID变量确实被分配了正确的值,所以我不明白错误的原因。有谁知道发生了什么事?

1 个答案:

答案 0 :(得分:0)

它们可能是冲突的库,例如Prototype等。如上所述:jQuery works on my page, but firebug says $ is not defined error. Why and how to avoid it?

尝试将$更改为jquery,如:jQuery(document).ready(...

另外,在加载jquery的<script>行之后仔细检查你的脚本是否来自