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