3

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

   $.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

4

2 回答 2

7

今天在同样的问题上苦苦挣扎。经过一些令人沮丧的时间后,我在所有场合都发现了以下作品。拥有一个包含如下部分的 HTML 文件:

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

我只是想查找<p>具有特定 id 的内容并将其内容附加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 节点,只返回空元素或根本不返回任何内容。以上似乎是要走的路。

于 2014-03-19T12:18:05.573 回答
0

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

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

           var aDiv=  $(html).find('div').eq(0); 
console.log(aDiv.html());
            }
       });
于 2013-10-31T23:05:57.520 回答