jquery问题与代码

时间:2011-01-01 18:08:48

标签: jquery

此代码

   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: #

2 个答案:

答案 0 :(得分:4)

当您使用空的id选择器时,

jQuery抛出“未捕获的异常:语法错误,无法识别的表达式:#”,例如:

$('#'); //throws: "uncaught exception: Syntax error, unrecognized expression: #"

因此,粘贴代码段的问题是chars[aimt][0]返回一个空字符串,导致$('#'+chars[aimt][0])抛出异常。

答案 1 :(得分:2)

这不是问题所在的地方,您粘贴的代码没有任何问题。可能缺少'代码中的其他代码在此部分之上,并且您的代码没有正确关闭字符串,直到它看到下一个',后面的字符是#,这是语法错误。

查看更新的代码,我没有看到任何语法错误。你修好了吗?