Jquery ajax通过返回html解析

时间:2013-10-31 22:16:17

标签: jquery ajax

如何在ajax html响应中找到名为findThis的元素?我甚至找不到第一个孩子(错误信息:对象不支持属性或方法'第一个')

   $.ajax({
            type: "GET",
            url: www.someWebSite.com,
            contentType: "application/x-www-form-urlencoded", 
            dataType: "text/html", 
            success: function (html) {

           var topHtml=  $(html).first(); 

            }
       });

我正在使用Jquery 1.8.2

2 个答案:

答案 0 :(得分:7)

今天与完全相同的问题陷入困境。经过一段令人沮丧的时间后,我在所有场合都发现了以下作品。拥有包含以下部分的HTML文件:

...
<h4>headline</h4>
<p id="id">Lorem ipsum dolor sit amet ...</p>
...

我只想查找具有特定ID的<p>的内容,并将该p的内容附加到元素的属性中。

$.ajax({
    dataType: "html",
    url : 'path/to/html.html',
    success : function(html) {
        var div = $('<div>');
        div.html(html);
        var content = div.find('#id');
        $("#element").attr('attribute', content.html());
    }
});

创建虚拟元素<div>,将HTML响应分配给div;从div中找到所需内容,并使用html()提取。

jQuery似乎很难解析即时HTML。特别是如果标记搞砸了。我们必须通过一个虚拟元素并解析其内容以获得我们想要的东西。

我见过的所有其他解决方案建议解析为HTML节点,只返回空元素或根本不返回任何内容。以上似乎是要走的路。

答案 1 :(得分:0)

这会从jquery站点找到一个div,

$.ajax({
            type: "GET",
            url: 'http://jquery.com',
            success: function (html) {

           var aDiv=  $(html).find('div').eq(0); 
console.log(aDiv.html());
            }
       });