【发布时间】:2012-01-27 09:30:41
【问题描述】:
事情是这样的,
我有一个充满 HTML 代码的 textarea(ID 为“input_container”),简单的例子是:
<!doctype html>
<html>
<head></head>
<body>
<a href="www.example.com">the other place</a>
</body>
</html>
如何解析它并在 jQuery 中将其用作合法的 DOM? 例如,做
$(varWithDom).find(...)
使用那个 DOM?
我已经尝试过的
我尝试使用 jQuery 解析它,但发生了一件有趣的事情 - jQuery 删除了 DOCTYPE 和所有的 HEAD,只剩下我一无所有了
<a href="www.example.com">the other place</a>
我原来的方法在这里:jQuery HTML parser is removing some tags without a warning, why and how to prevent it?
我还没有找到解决方案。有任何想法吗?这可能是 jQuery 的错误还是什么?
【问题讨论】:
-
您真正关心哪些部分?为什么除了
<body>的内容之外,jQuery 删除所有内容很重要?根据 evan quoted in answering your previous question 的 jQuery 文档,这不是 jQuery 错误 - 这是浏览器内置的.innerHTML实现,它正在丢弃标签。 -
@MДΓΓБДLL:这很重要,因为如果查询的元素是
body的子元素,并且body被剥离,那么.find()将无法找到它。而是需要.filter()。 -
在这种情况下,只需将整个内容包裹在
<div>中,就像 @am not i am suggests 一样。 -
为什么需要 HEAD 中的元素?为什么需要 DOCTYPE?你来这里的目的是什么?
标签: javascript jquery html xml dom