2

使用安全吗$("<div />").appendTo($mySelector)?即使不是有效的 HTML 元素,它也能在每个浏览器中工作吗?

我问是因为它真的比$("<div><div />")

4

3 回答 3

5

是的。如果您查看源代码,则此案例甚至得到了优化。

/^<(\w+)\s*\/?>(?:<\/\1>|)$/
  <div      / >               // your case

如果存在或不存在 a/并且不包含在组中,则此正则表达式将匹配。唯一的分组表达式是实际div使用的标签名称 ( )。

如果您仔细观察,您会发现以下内容都以相同的方式处理:

<div>
<div />
<div></div>
<div /></div>
于 2012-08-22T20:26:02.997 回答
0

它将正常工作。jQuery处理翻译。

于 2012-08-22T20:25:23.237 回答
0

是的,但为什么不使用$(document.createElement('div'));它比使用 jquery 创建元素要快。它可以在不运行正则表达式并需要 jquery 翻译的情况下工作。

有关使用不同方法创建元素的测试,请参阅此SO 答案

于 2012-08-22T20:25:44.077 回答