可以创建自定义“DOM”通过从 Javascript 中的字符串加载 HTML?

发布于 2024-09-28 04:04:28 字数 249 浏览 4 评论 0原文

我正在尝试在浏览器中解析 HTML。浏览器接收 2 个 HTML 文件作为字符串,例如。 HTML1 和 HTML2。

我现在需要解析这些“文档”,就像解析当前文档一样。这就是为什么我想知道是否可以基于这些 HTML 字符串(这些字符串由服务器或用户提供)创建自定义文档。

例如,以下内容是有效的: $(html1Document).$("#someDivID")...

如果有任何不清楚的地方,请让我澄清更多。

谢谢。

I'm trying to parse HTML in the browser. The browser receives 2 HTML files as strings, eg. HTML1 and HTML2.

I now need to parse these "documents" just as one would parse the current document. This is why I was wondering if it is possible to create custom documents based on these HTML strings (these strings are provided by the server or user).

So that for example the following would be valid:
$(html1Document).$("#someDivID")...

If anything is unclear, please ask me to clarify more.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

绮烟 2024-10-05 04:04:28
var $docFragment = $(htmlString);

$docFragment.find("a"); // all anchors in the HMTL string

请注意,这会忽略任何文档结构标记(),但会忽略任何包含的标记将可用。

var $docFragment = $(htmlString);

$docFragment.find("a"); // all anchors in the HMTL string

Note that this ignores any document structure tags (<html>, <head> and <body>), but any contained tags will be available.

记忆で 2024-10-05 04:04:28

使用 jQuery 你可以这样做:

$(your_document_string).someParsingMethod().another();

With jQuery you can do this:

$(your_document_string).someParsingMethod().another();
最笨的告白 2024-10-05 04:04:28

您始终可以将 html 附加到某个隐藏的 div(尽管 innerHTML 或 jQuery .html(..))。它不会被完全视为新文档,但仍然能够搜索其内容。

但它有一些副作用。例如,如果您的 html 定义了任何 script 标记,它们就会被加载。此外,浏览器可能(并且可能会)删除 htmlbody 和类似标签。

编辑
如果您特别需要 title 和类似标签,您可以尝试 iframe 从您的服务器加载内容。

You can always append your html to some hidden div (though innerHTML or jQuery .html(..)). It won't be treated exactly as a new document, but still will be able to search its contents.

It has a few side-effects, though. For example, if your html defines any script tags, they'll be loaded. Also, browser may (and probably will) remove html, body and similar tags.

edit
If you specifically need title and similar tags, you may try iframe loading content from your server.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文