Jquery错误:未捕获错误:语法错误,无法识别的表达式:<div> </div>

时间:2013-03-09 17:29:11

标签: jquery html

我正在调用并加载html文件。它包含3个<div>标记。第一个装在一个容器中。第二个在另一个,所以第三个。这是我的ajax查询的代码

$.ajax(
                {  
                    url: 'files/' + href,                       
                    async: true,
                    success: function(XML){
                        console.log("It's a success");
                        var xml = XML;
                        var desc = $(xml).find("div").eq(0).html();
                        $("#listView .list_detail:eq(0)").html(desc);
                        var rule = $(xml).find("div").eq(1).html();
                        $("#listView .list_detail:eq(1)").html(rule);
                        var em = $(xml).find("div").eq(2).html();
                        $("#listView .list_detail:eq(2)").html(em);
                        $("#listView .list_detail:eq(0)").slideDown();
                    }
});

但是我在加载那个html文件时遇到错误。

Uncaught Error: Syntax error, unrecognized expression: <div>

并且每个html文件都像

<div> the list
    <ul>3 rounds
    <li>first round
    <li>second round 
    </ul>
</div> 
<div> data data </div>
<div> data data </div>`

怎么了?我没有得到。

3 个答案:

答案 0 :(得分:0)

尝试这样做并检查一下是否有效......

$.ajax(
                {  
                    url: 'files/' + href,                       
                    async: true,
                    success: function(data){
                        console.log("It's a success");
                        var resultData= $(data);
                        var desc = $(resultData).find("div").eq(0).html();
                        $("#listView .list_detail:eq(0)").html(desc);
                        var rule = $(resultData).find("div").eq(1).html();
                        $("#listView .list_detail:eq(1)").html(rule);
                        var em = $(resultData).find("div").eq(2).html();
                        $("#listView .list_detail:eq(2)").html(em);
                        $("#listView .list_detail:eq(0)").slideDown();
                    }
});

如果它无法正常工作,请告诉我您获取代码的结果

$.ajax(
                {  
                    url: 'files/' + href,                       
                    async: true,
                    success: function(data){
                        alert(""success); // is it showing this alert box?
                        var resultData= $(data);
                        alert(resultData.length);//is it showing this length properly?
                        var desc = $(resultData).find("div").eq(0).html();
                        alert(desc.length);//is it showing this length properly?
                        $("#listView .list_detail:eq(0)").html(desc);
                        alert($("#listView .list_detail:eq(0)").length);//is it showing this length properly?
                        var rule = $(resultData).find("div").eq(1).html();
                        $("#listView .list_detail:eq(1)").html(rule);
                        var em = $(resultData).find("div").eq(2).html();
                        $("#listView .list_detail:eq(2)").html(em);
                        $("#listView .list_detail:eq(0)").slideDown();
                    }
});

答案 1 :(得分:0)

应该是

$.ajax(
                {  
                    url: 'files/' + href,                       
                    async: true,
                    success: function(data){
                        console.log("It's a success");
                        var resultData= $(data);
                        var desc = $(resultData).find("div").eq(0).html();
                        $("#listView .list_detail:eq(0)").html(desc);
                        var rule = $(resultData).find("div").eq(1).html();
                        $("#listView .list_detail:eq(1)").html(rule);
                        var em = $(resultData).find("div").eq(2).html();
                        $("#listView .list_detail:eq(2)").html(em);
                        $("#listView .list_detail:eq(0)").slideDown();
                    }
});

和HTML:您忘了关闭</li>

<div> the list
    <ul>3 rounds
    <li>first round</li>
    <li>second round </li>
    </ul>
</div> 
<div> data data </div>
<div> data data </div>`

答案 2 :(得分:0)

$.ajax(
                {  
                    url: 'files/' + href,                       
                    async: true,
                    success: function(XML){
                        console.log("It's a success");
                        var xml = XML;
                        var desc = $($(xml)[0]).html();
                        $("#listView .list_detail:eq(0)").html(desc);
                        var rule = $($(xml)[1]).html();
                        $("#listView .list_detail:eq(1)").html(rule);
                        var em = $($(xml)[2]).html();
                        $("#listView .list_detail:eq(2)").html(em);
                        $("#listView .list_detail:eq(0)").slideDown();
                    }
});