JQuery:Uncaught SyntaxError:意外的令牌ILLEGAL

时间:2011-12-29 20:12:51

标签: jquery

我有这个代码并运作良好;

            $(".campodigitavel").change(function(){
                $(".campocalculado").each(function(){
                    if ($(this).attr("ordem") == 1){ // O valor do primeiro item do grupo será o campo base para o cálculo.
                        lnTotal = $(this).val();
                    }
                    // Percorre todos os filhos cujo pai é o atual da iteração
                    $("[pai=" + $(this).attr("id") + "]").each(function(){
                        if(this.value != ""){
                            lnTotal = eval(lnTotal + "" + $(this).attr("operador") + "" +  parseFloat(this.value));
                        }
                    });
                    $("#" + $(this).attr("target")).val(lnTotal);
                });
            });

但是,当我改变代码时添加一个函数调用:

$(".campodigitavel").change(function(){
                $(".campocalculado").each(function(){
                    if ($(this).attr("ordem") == 1){ // O valor do primeiro item do grupo será o campo base para o cálculo.
                        lnTotal = $(this).val();
                    }
                    // Percorre todos os filhos cujo pai é o atual da iteração
                    $("[pai=" + $(this).attr("id") + "]").each(function(){
                        if(this.value != ""){
                            lnTotal = eval(lnTotal + "" + $(this).attr("operador") + "" +  parseFloat(this.value));
                        }
                    });
                    $("#" + $(this).attr("target")).val(lnTotal);
                });
                calcularPercentual();
            });

功能代码:

function calcularPercentual(){
            var lnValorReferencia, lnValorPai 

            lnValorReferencia = $("[percentual=true]").val();

            $('.perccalculado').each(function(){
                lnValorPai = $("#" + $(this).attr("pai")).val();
                if(lnValorPai != ""){
                    $(this).val(lnValorPai * 100 / lnValorReferencia);
                }
            });
        }

当JQuery代码第二次执行时,出现错误:Uncaught SyntaxError:Unexpected token ILLEGAL。

为什么?

谢谢, 卢西亚诺

4 个答案:

答案 0 :(得分:2)

var lnValorReferencia, lnValorPai;

之后添加(;)

答案 1 :(得分:1)

在初始化var lnValorReferencia之后忘记了分号(;),lnValorPai

答案 2 :(得分:1)

我在阅读了这个主题后发现了错误(http://forum.jquery.com/topic/chrome-uncaught-syntaxerror)我在firefox中打开页面,它显示了真正的错误。

我在class =“perccalculado”的字段中将atribute pai的名称更改为paiperc。

答案 3 :(得分:0)

也许尝试在行后面加一个分号:

var lnValorReferencia, lnValorPai

我对此有点怀疑,因为js做了很多隐含的分号插入,但值得一试