2017-09-05 37 views
-1

我用jQuery(V3.2.1)编程,我得到一个错误JQUERY:未捕获的错误:语法错误#

JQUERY: Uncaught Error: Syntax error, unrecognized expression: #

我的代码是:

$(document).ready(function() { 
    $.ajax({ 
    type: "GET", 
    url: "updateFieldDesc.php", 
    data: "idTerminal=" + idTerminal + "&aplicacion=" + aplicacion + "&nombre_campo=" + nombre_campo, 
    success:function (output) { 
     var salida = output.split("|"); 
     var idCampo = salida[0]; 
     var descripcion = salida[1]; 

     //console.log("**********output :" + idCampo); 
     $("#" + idCampo).html(descripcion); 
    } 
    }); 
}) 
} 

而错误是由行引起的:$("#" + idCampo).html(description)

如何解决此错误?

+3

看起来像你的idCampo为空 如果取消注释,控制台会显示什么//console.log("**********output:“+ idCampo);? – Max

+0

@最好的主意,但为什么空引用会导致语法错误? – evolutionxbox

+3

@Max'$(“#”+ null)'/​​'$(“#”+ undefined)'/'$(“#”)'在chrome中产生'null'而不是语法错误。 – Nope

回答

0

问题是,您的idCampo是一个空间(或其他类似的空白)。

如果控制台日志:

console.log("**********output :" + idCampo) 

,它给" **********output : "

有在结肠后您的控制台日志中没有空间,但在你的榜样输出,这似乎是“空”。我总是建议控制台日志,例如:

console.log("output : [" + idCampo + "]") 

,在这种情况下,应该输出为:[ ](而不是空[]

快速片段表明$("# ")给出了同样的错误,你”重新获得:

try { 
 
var space = " "; 
 
$("#" + space).show(); 
 
} catch (e) { 
 
console.log(e.message) 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

相关问题