我只是想知道为什么我应该使用“class =”识别器而不是我自己的“tag”()?
<span class="red"> Hello there! (using class)</span>
.red {color: red;}
<div id="reddiv">
<red>Hello, there (using own tag)</red>
</div>
#reddiv red {color: red;}
我更容易使用自己的标签,因为它写得更快。 如果以第一种/第二种方式进行,有没有任何消极/可能的方面,你能告诉我吗?
答案 0 :(得分:3)
虽然这可能适用于大多数浏览器,但您的HTML会丢失上下文。当像搜索引擎(或屏幕阅读器或其他任何查看源代码的人)的应用程序解析您的文档时,它的名称为“red”或“purple”或“job”的标记是什么?它没有上下文,所以你会失败。 HTML使用一组具有意义的预定义标记,您可以冒险使用它,但是您将失去每个人立即理解(全部或部分)文档的优势。
如果此文档是数据传输框架的一部分而不是公共网络,那么您应该查看XML。
答案 1 :(得分:2)
使用课程有很多好处。
答案 2 :(得分:1)
您也不应忘记预定义标签有很多默认属性,而自定义标签没有。因此,除了span之外,您还需要为所有元素重新定义everthing。
此外,您可以在元素上拥有多个类,因此<span class="red bold">Red</span>
是可能的。
答案 3 :(得分:1)
您可以删除,更改和交换类,以更改动态元素样式或行为,使用标记无法做到的事情。 Tag是需要类来设置行为和样式的元素。
答案 4 :(得分:-1)
使用document.registerElement():
创建自定义元素var reds = document.registerElement('red');
document.body.appendChild(new reds());