在jquery中,当我使用不存在的元素时会发生什么?考虑:
$('<tmp/>').html(some_html_string).text()
我使用不存在的元素<tmp/>
只是为了使用html()
和text()
的功能(做一些事情)。
这是正确的方法吗?
答案 0 :(得分:4)
扩展现有的答案,它只是创建一个没有附加到任何东西的HTML元素。在使用之前,您必须将其插入DOM中。这对于您想要做的事情很好 - 有一个虚拟元素,因此您可以轻松使用.html()
和.text()
。
答案 1 :(得分:3)
你在这里做的是致电second jQuery method。引用jQuery文档:
jQuery( html )
动态创建DOM元素 提供的原始HTML字符串。如果传递一个字符串作为参数 到$(),jQuery检查字符串 看看它是否看起来像HTML ...如果是字符串 似乎是一个HTML片段,jQuery 尝试创建新的DOM元素 由HTML描述。然后一个jQuery 创建并返回该对象 指这些元素。您可以 执行任何常见的jQuery 关于这个对象的方法。
实际上,这意味着您最终会得到一个功能齐全的jQuery对象 - 您可以使用此对象来操作您开始使用的HTML代码段。这非常方便,是一种非常有效的方法。
唯一需要记住的是,除非您实际append it to the DOM,否则该代码段不会出现在浏览器的任何位置。
答案 2 :(得分:0)
亲自尝试:http://jsfiddle.net/
基本上它会创建一个没有附加到任何东西的节点......