在HTML5中使用自定义元素是不好的做法吗?

bob*_*bee 16 javascript html5

使用类似的东西document.getElementByTagName,你几乎可以创建自己的元素.

<arial>Hello</arial>
Run Code Online (Sandbox Code Playgroud)

然后在JS ..

var a = document.getElementsByTagName("arial");

for(i = 0; i < a.length; ++i)
     a[i].style.fontFamily = "Arial"
Run Code Online (Sandbox Code Playgroud)

我们有一个自定义元素,容易peasy.

我的问题归结为,这是一种不好的做法吗?有没有我不注意的缺点?

Mic*_*yen 27

W3C说你不应该.这是不好的做法.

作者不得使用本规范或其他适用规范不允许的元素,属性或属性值,因为这样做会使语言在将来更难扩展.

此外,HTML5 不是 XML.您应该只使用官方规范中列出的元素.

  • @bobbybee给你一个实际的例子,[看看所有这些人哭泣并拥有巨大的权利感](https://code.google.com/p/v8/issues/detail?id=164)当他们依赖关于他们不应该拥有的东西,但看起来效果好十年的东西.也许他们不知道风险,但现在你知道. (7认同)

Bar*_*tek 6

这样做的主要缺点是它在语义上没有效果.但是,浏览器会将其解析为块元素,直到您为其添加更多样式.

而不是制作自己的标签,使用class和可能的data属性来为DOM添加适当的属性.

  • `data -`属性可以处理很多不同的用例. (2认同)