我评估了.get函数中的数据字符串:
$.get(url, function(data) {
var divHtml = $(data).find("#comments-comments").html();
})
数据是这样的返回页面:
"< !DOC TYPE html >\r\n\r\n< html ... < / body >\r\n\r\n< / html >"
但divHtml并没有给出我感兴趣的div。
var divHtml = $(data).find("#comments-comments").html(); // data is the string above.
如何评估#comments-comments div?
感谢。
注意:我故意在字符串中插入空格,因为stackoverflow没有显示原始字符串。
答案 0 :(得分:0)
我假设你问:为什么没有
$("<body><div id='comments-comments'><b>hello</b></div></body>").
find("#comments-comments").html()
返回
"<b>hello</b>"
jQuery删除例如<html>
和<body>
,因此<div>
实际上是顶级元素。 find
搜索子元素。
相反,您可以使用过滤顶级元素的filter
:
$("<body><div id='comments-comments'><b>hello</b></div></body>").
filter("#comments-comments").html()
此处提供更多详细信息:Using jQuery to search a string of HTML