使用jQuery编辑外部HTML文档

时间:2012-03-15 18:29:47

标签: javascript jquery dom

我需要使用jQuery编辑HTML文档,但我尝试的所有解决方案都非常严格。

我从服务器获取文档,所以我把它作为一个字符串。为了解析文档,我需要将它添加到DOM中。

当我将其附加到正文时,我会丢失<html><head><body>个标记,这些标记会被浏览器剥离(请参阅https://stackoverflow.com/a/3218941/654179)。

所以我尝试使用iframe,这有点复杂:我必须使用contentWindow.document手动填充它,然后使用contents().find('*').html()来获取内容。也许有一种更简单,更清洁的方法。但iframe解决方案还会删除<html><head><body>标记。请参阅我的示例:http://jsfiddle.net/gNvYn/7/

这里有另一个技巧:https://stackoverflow.com/a/6751201/654179但是我无法用它来写文件然后阅读文档(我需要阅读它以便在服务器上保存)。

那么,有没有办法在不丢失结构的情况下编辑(编写,然后读取)HTML文档?

1 个答案:

答案 0 :(得分:1)

如果你需要改变的事情完全在体内,那么就有一种解决方法。使用javascript的indexOf()和slice()方法将字符串拆分为pre-body(其中<body>为最后一个字符),post-body(其中</body>为第一个字符),以及身体(一切都在中间)。然后将主体插入DOM,操纵它,再次将其拉出,使用javascript +操作符将三个重新粘在一起,然后发回。它有点笨拙,而且它不是完全你所要求的,但它应该能让你到达目的地。