即使<div>不是有效的HTML元素,它会在每个浏览器中都有效吗?</div>

时间:2012-08-22 20:23:00

标签: javascript jquery

$("<div />").appendTo($mySelector)可以安全使用吗?它是否适用于每个浏览器,即使它不是有效的HTML元素?

我问,因为它比$("<div><div />")

更容易使用

3 个答案:

答案 0 :(得分:5)

是。如果你看一下来源,这个案例甚至会被优化。

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

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

如果你看得更清楚,你可以看到以下所有方式都以同样的方式处理:

<div>
<div />
<div></div>
<div /></div>

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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