我有一个var,它包含一个完整的html页面,包括head、html、body等。当我将该字符串传递给.html()函数时,jQuery会去掉所有那些我不需要的元素,比如body、html、head等。
我的数据变量包含:
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
</body>
</html>
那么我的jQuery是:
// data is a full html document string
data = $('<div/>').html(data);
// jQuery stips my document string!
alert(data.find('head').html());
我需要操作一个完整的html页面字符串,这样才能返回元素中的内容。我想用jQuery来做这件事,但似乎所有的方法,append(),prepend()和html()都试图将字符串转换成dom元素,这会删除整个html页面的所有其他部分。
有没有其他方法可以让我这样做呢?我可以使用另一种方法。我的最终目标是找到字符串中的某些元素,所以我认为jQuery是最好的,因为我太习惯它了。但是,如果它要修剪和移除我的字符串的一部分,我将不得不寻找另一个方法。
想法?
发布于 2012-12-17 10:45:48
下面是一个解决方案,它将包含body、head和其他属性: mydoc = document.getElementById('NAME_OF_PREVIEW_FRAME').contentWindow.document;mydoc.write(HTML_CODE);mydoc.close();
发布于 2010-03-22 07:54:35
不,HTML html
函数只是将字符串发送到元素的innerHTML
属性,该属性是浏览器的一个函数,它告诉浏览器将jQuery解析为DOM元素并将它们添加到页面中。
您的浏览器不能将页面作为HTML数据使用,而是将其作为DOM使用,并导入/导出HTML。
JavaScript有非常好的Regular Expression support。根据任务的复杂程度,您可能会发现这是处理数据的最佳方法。
https://stackoverflow.com/questions/2488839
复制相似问题