如何在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
答案 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());
}
});