为什么jquery选择textnodes而不是html元素?

时间:2013-05-15 15:03:59

标签: jquery

这是我的代码:

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

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

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

有谁知道为什么会这样?

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

1 个答案:

答案 0 :(得分:0)

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

  

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

并根据上述内容:

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

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

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

尝试创建元素。

这可能不是答案,但正如您所看到的,您需要发布一些非传统文本的示例以及HTML的示例。即使它“难以预测”。如果你发布这个,我认为它至少发生过一次:)