jquery在FF,chrome和safari工作,但不是IE

时间:2012-03-28 16:18:57

标签: jquery internet-explorer cross-browser incompatibility

您好我无法在Internet Explorer中使下面的jquery脚本工作。更多的按钮没有响应。我找不到任何小的语法错误等。有人能够帮助我改变脚本,以便它可以在IE上工作。如果我在兼容模式下运行IE它可以工作。感谢。

$(document).ready(function() {
    var pid = $("div#productcontainerbottom").attr("class");
    var initialtotalcomments = $(".loadmore").attr("id"); //total comments before any inserts or deletes
    initialtotalcomments = parseInt(initialtotalcomments);
    if (initialtotalcomments <= 10) {
        $(".loadmore").hide();
    }
    if (initialtotalcomments >= 11) {
        $(".loadmore").show();
        $("#commentview").html(10 + " of ");
        $("#commentcount").html(initialtotalcomments);
    }
    $(".loadmore").click(function(e) {
        e.preventDefault();

        $.post("ajax/commentcount.php?id=" + pid, function(actualtotalcount) {
            var commentviewcountbeforeclick = $('.date').length; //number of comments displayed on page before more click. varies due to inserts or deletes before click of more button. each insert increases it by 1. each delete decreases it by 1.
            actualtotalcount = parseInt(actualtotalcount);
            //keeps track of actual total comment count adjusted for inserts and deletes
            var end = commentviewcountbeforeclick + 10;
            $(".loading").show();
            $.post("ajax/pull.php?id=" + pid, {
                end: end
            }, function(data) {
                $("#commentarea").html(data);
                $('.confirmdelete').hide();
                $(".loading").hide("slow");
                var commentviewafterclick = $('.date').length; //number of comments displayed on page after click(= to commentviewbeforeclick + num)
                if (actualtotalcount >= 11) {
                    $("#commentview").html(commentviewafterclick + " of ");
                    $("#commentcount").html(actualtotalcount);
                }
                if (commentviewafterclick == actualtotalcount) {
                    $(".loadmore").hide();
                }
            });
        });
    });
});

2 个答案:

答案 0 :(得分:0)

第38行和第40行,添加;。您还应在radix中指定parseInt参数。尝试这样做,也许IE会表现出来。

修改:您还会多次初始化actualtotalcount

答案 1 :(得分:0)

不要复活一个相当死的帖子,但我只是碰到了同样的错误。我遇到的问题是我传递的post params中有一个对象(在我的例子中它是一个location对象)。切换到字符串URL解决了这个问题。

如果您将空对象传递到$.post()$.getJSON()来电并且没有收到错误,请查看您传入的参数。

希望这有帮助。