IE8 Jquery Javascript“错误:需要对象”错误

时间:2009-04-24 18:42:49

标签: javascript jquery internet-explorer-8

当此函数中的switch语句运行时,IE8抛出“Error:Object required”消息(实际jquery库脚本中的错误,而不是我的javascript文件)。此代码适用于IE6,IE7,FF3和Safari ......任何想法?它是否与交换机中的'$(this)'选择器有关?谢谢!

function totshirts(){
    $('.shirt-totals input').val('0');
    var cxs = 0;
    var cs = 0;
    var cm = 0;
    $.each($('select.size'), function() {
        switch($(this).val()){
            case "cxs":
                cxs ++;
                $('input[name="cxs"]').val(cxs);
                break;
            case "cs":
                cs ++;
                $('input[name="cs"]').val(cs);
                break;
            case "cm":
                cm ++;
                $('input[name="cm"]').val(cm);
                break;
        }
    });
}

2 个答案:

答案 0 :(得分:3)

哦,不,不要那样做。

按照以下方式做更多事情:

$('.shirt-totals input').val('0');
$('select.size').each(function() {
 var name = $(this).attr('name');
 var currVal = parseInt($("input[name='"+name+"']").val());
 $("input[name='"+name+"']").val(currVal+1);
});

作为旁注,我倾向于发现jQuery在进行“等于”比较时似乎比单引号更好地处理双引号。

答案 1 :(得分:1)

我将jQuery库从1.2.6升级到1.3.2,这解决了这个问题。没有意识到我有一个旧版本 - oops。

感谢您的帮助!