2017-09-05 105 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>

相關問題