如何从页面响应文本创建javascript dom文档并获取正文内容

如何从页面响应文本创建javascript dom文档并获取正文内容,javascript,jquery,html,Javascript,Jquery,Html,请帮助我如何从响应文本创建javascript dom,响应文本如下: <html> <head > //scripts and meta tags are available </head> <body> //body content will have html code. </body> </html> 当我尝试使用xmlDoc.body.innerHTMLit获取正文内容时,从文档中 提供null,但响应文本具有正

请帮助我如何从响应文本创建javascript dom,响应文本如下:

<html>
<head >
//scripts and meta tags are available
</head>
<body>
//body content will have html code.
</body>
</html>
当我尝试使用
xmlDoc.body.innerHTML
it获取正文内容时,从文档中 提供null,但响应文本具有正确的数据

请帮我获取正文内容


-Raja

只需将DOMNode的innerHTML设置为responseText

只需将DOMNode的innerHTML设置为responseText

您用jQuery标记了这个问题,所以我假设您会接受jQuery解决方案

$(responsetext);
这将为您提供一个jQuery对象,它只引用body元素的内容,因此
$('title')
为您提供一个jQuery对象,它引用一个新的
title
元素


另外,您从哪里获得
responsetext
?我想这是一个AJAX请求?为什么不使用jQuery的ajax功能并在回调中处理响应文本?

您用jQuery标记了这个问题,所以我假设您会接受jQuery解决方案

$(responsetext);
这将为您提供一个jQuery对象,它只引用body元素的内容,因此
$('title')
为您提供一个jQuery对象,它引用一个新的
title
元素


另外,您从哪里获得
responsetext
?我想这是一个AJAX请求?为什么不使用jQuery的ajax功能并在回调中处理响应文本呢?

我只需要正文内容,但我从文档中尝试了,当我像下面的var xmlDoc=parser.parseFromString(responsetext,“text/xml”)那样尝试时,得到了空正文;xmlDoc.body.innerHTMLvar xmlDoc=parser.parseFromString(responsetext,“text/xml”);当我使用下面的代码时,我得到的只是一个空的主体。你可以附加它,然后找到主体,删除所有内容,然后只重新附加主体。或者,您可以使用jQuery遍历响应文本,并将所有内容追加到正文中,如$(“#yournode”).append($(responseText.find(“body”).html());我只需要正文内容,但我从文档中尝试过,当我像下面的var xmlDoc=parser.parseFromString(responsetext,“text/xml”)那样尝试时,得到了空正文;xmlDoc.body.innerHTMLvar xmlDoc=parser.parseFromString(responsetext,“text/xml”);当我使用下面的代码时,我得到的只是一个空的主体。你可以附加它,然后找到主体,删除所有内容,然后只重新附加主体。或者,您可以使用jQuery遍历响应文本,并将所有内容追加到正文中,如$(“#yournode”).append($(responseText.find(“body”).html());updatePageBody=function(html,objId){console.log(html);displayDraft(html,objId);}以上是我回调中的一个方法。在该html中,我尝试了与以下警报相同的方法($html.find(“body”).html())。返回null。但是html有正确的数据。对不起,我不太明白。您是说
updatePageBody
是您对AJAX请求的回调吗?在
displayDraft
中,您尝试了
alert($html.find(“body”).html())?变量
$html
来自哪里?如果您在问题中发布更多的代码,可能会有所帮助。Spycho:我无法使用您的答案代码:为什么“$('title')。find('body')”的长度为0?jQuery不会解析responseText?啊,jQuery解析该字符串并只创建body标记内的元素,而不是整个html标记。因此,
$('title')
为您提供了一个jQuery对象,该对象引用一个新的
title
元素。这意味着
$(responsetext)
应该是您所需要的全部。updatePageBody=function(html,objId){console.log(html);displayDraft(html,objId);}以上是我回拨中的一个方法。在该html中,我尝试了与以下警报相同的方法($html.find(“body”).html())。返回null。但是html有正确的数据。对不起,我不太明白。您是说
updatePageBody
是您对AJAX请求的回调吗?在
displayDraft
中,您尝试了
alert($html.find(“body”).html())?变量
$html
来自哪里?如果您在问题中发布更多的代码,可能会有所帮助。Spycho:我无法使用您的答案代码:为什么“$('title')。find('body')”的长度为0?jQuery不会解析responseText?啊,jQuery解析该字符串并只创建body标记内的元素,而不是整个html标记。因此,
$('title')
为您提供了一个jQuery对象,该对象引用一个新的
title
元素。这意味着
$(responsetext)
应该是您所需要的全部。