繁体   English   中英

阅读ajax html响应的一部分

[英]Reading a portion of the ajax html response

我的ajax(jquery)响应(html)给了我一大堆html源代码,因为它获取了enrite页面。

响应有点像下面:


<html>
<head>
...
...
</head>
<body>
.
.....
.

.......

<div id="content">
    content i want to extract
</div>
.............
..........
.............

</body>
</html>

我需要以下方面的帮助:

1)是否可以读取<div id='content'></div>之间的任何<div id='content'></div> 如果有,怎么样?

2)如果#1不可能,我怎样才能从<div id='content'></div>提取内容?

我试过的代码:


    /*Ajax*/
    $jq(function(){
    alert ("Doc ready");
        $jq("#content a.next-page").bind("click", function(e){
            alert ("Hey!");
            /*Make the call*/
            $jq.ajax({
                url: "/page/2",
                type: "get",
                cache: false,
                data: "",
                error: function(){alert ("No data found for your search.");},
                success: function(results){
                    //$searchPanel.find("tbody").empty().append(results);
                    //$searchPanelHolder.css({"display":"block"});
                    alert (results.find("div[id='content']").html());
                    e.preventDefault();
                }
            });
            e.preventDefault();
        });
    });

对此有任何帮助非常感谢

非常感谢,Racky

那这个呢?

$("#content", results).html()

是的,这是可能的,但你需要首先从中创建一个jQuery对象。

改变这一行:

alert (results.find("div[id='content']").html());

对此:

alert ( $(results).find("div[id='content']").html() );

或者,更好的是,对此:

alert ( $(results).find("#content").html() );

编辑:

看起来如果你想要的元素是body的直接子元素,你需要使用.filter()代替,因为body似乎被排除在jQuery对象之外。 看起来只包含其内容。

alert ( $(results).filter("#content").html() );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM