首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在使用.html()时,jQuery是否会从字符串中剥离一些html元素?

在使用.html()时,jQuery是否会从字符串中剥离一些html元素?
EN

Stack Overflow用户
提问于 2010-03-22 05:41:13
回答 2查看 4.7K关注 0票数 18

我有一个var,它包含一个完整的html页面,包括head、html、body等。当我将该字符串传递给.html()函数时,jQuery会去掉所有那些我不需要的元素,比如body、html、head等。

我的数据变量包含:

代码语言:javascript
复制
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

那么我的jQuery是:

代码语言:javascript
复制
// 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是最好的,因为我太习惯它了。但是,如果它要修剪和移除我的字符串的一部分,我将不得不寻找另一个方法。

想法?

EN

回答 2

Stack Overflow用户

发布于 2012-12-17 10:45:48

下面是一个解决方案,它将包含body、head和其他属性: mydoc = document.getElementById('NAME_OF_PREVIEW_FRAME').contentWindow.document;mydoc.write(HTML_CODE);mydoc.close();

票数 4
EN

Stack Overflow用户

发布于 2010-03-22 07:54:35

不,HTML html函数只是将字符串发送到元素的innerHTML属性,该属性是浏览器的一个函数,它告诉浏览器将jQuery解析为DOM元素并将它们添加到页面中。

您的浏览器不能将页面作为HTML数据使用,而是将其作为DOM使用,并导入/导出HTML。

JavaScript有非常好的Regular Expression support。根据任务的复杂程度,您可能会发现这是处理数据的最佳方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2488839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档