如何从页面响应文本创建javascript dom文档并获取正文内容
请帮助我如何从响应文本创建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,但响应文本具有正
<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)
应该是您所需要的全部。