【问题标题】:jQuery string to DOM without DOM insertion没有DOM插入的jQuery字符串到DOM
【发布时间】:2011-07-16 19:20:37
【问题描述】:

我有一个包含以下内容(innerHTML)的文本区域:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>

</body>
</html>

为了准备使用 jQuery 解析 DOM 的内容,我执行以下操作(temp 只是一个 div):

$('#temp').append(input.val());

console.log($('#temp').html());

正如jQuery object from complete HTML document 所指出的,head、body、html 和 doctype 标签都不见了:

<meta charset="utf-8">
<title></title> 

那么有没有其他方法可以不附加到 DOM 并且仍然可以使用 DOM 元素? iframe 可能是最后的手段,但那会很丑。

【问题讨论】:

  • 你到底想完成什么?
  • 您可以将它们放在一个变量中,甚至可以使用data 存储它们
  • @DADU 您想对该 HTML 字符串进行哪些更改?能举几个例子吗?
  • @DADU jQuery 无法解析 HTML、HEAD、BODY 和 DOCTYPE 元素。因此,您不能在您的情况下使用 jQuery 的 HTML 解析能力。您需要的是一个可以将完整的 HTML 字符串解析为文档片段对象的脚本。我不知道有这样的脚本。

标签: jquery parsing dom innerhtml


【解决方案1】:

你可以这样做..

 $(input.val()).find('your-selector')

或者,您可以将其作为上下文传递..

$('your-selector', $(input.val()))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-24
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多