此代码
function get_players()
{
$.ajax({
type: "POST",
url: "get_players.php",
dataType: "html",
success: function(data) {
var str = data;
var chars = str.split("<br />");
var lol = chars.length;
for(var i = lol; i--; ) {
chars[i] = chars[i].split('/');
var o = document.getElementById(chars[i][0]);
if (!o) {
var aimt = i;
if (aimt!=chars.length-1 && aimt != 0) {
$('#gracze').html('<div id="'+chars[aimt][0]+'" class="char"></div>'+$('#gracze').html());
}
} else {
$('#'+chars[aimt][0]).position.left = chars[aimt][1];
$('#'+chars[aimt][0]).position.top = chars[aimt][2];
}
}
}});
setTimeout("get_players();", 2500);
}
在js console中输出我pl hlp :(
Uncaught Syntax error, unrecognized expression: #
答案 0 :(得分:4)
jQuery抛出“未捕获的异常:语法错误,无法识别的表达式:#”,例如:
$('#'); //throws: "uncaught exception: Syntax error, unrecognized expression: #"
因此,粘贴代码段的问题是chars[aimt][0]
返回一个空字符串,导致$('#'+chars[aimt][0])
抛出异常。
答案 1 :(得分:2)
这不是问题所在的地方,您粘贴的代码没有任何问题。可能缺少'代码中的其他代码在此部分之上,并且您的代码没有正确关闭字符串,直到它看到下一个',后面的字符是#,这是语法错误。
查看更新的代码,我没有看到任何语法错误。你修好了吗?