1

这是我的代码:

$text = $(unescapedText)
console.log($text)

我在控制台中看到的对象是 HTML 元素和文本节点的混合体:

[#text, <div></div>]

有谁知道为什么会这样?

我知道这不是很具有描述性,但是这个问题的发生非常不一致。

4

1 回答 1

0

来自http://api.jquery.com/jQuery/#jQuery2

如果将字符串作为参数传递给 $(),jQuery 会检查该字符串是否看起来像 HTML(即,它以 <tag ... > 开头)。如果不是,则字符串被解释为选择器表达式,如上所述。

并根据上述:

$text = $('blah blah blah');

尝试选择具有至少两个“blah”祖先的节点“blah”。它完全不同于:

$text = $('<blah> blah </blah>');

试图创建一个元素。

这可能不是答案,但正如您所见,您需要发布一些未转义文本的示例和它发生的 HTML 示例。即使它“难以预测”。如果您发布此内容,我认为它至少发生过一次:)

于 2013-05-17T07:30:49.267 回答