1 回答
它几乎没有什么区别,但由于缺乏语义意义,a div
or可能更合适。span
由于标记是动态构建的,因此您在这里并没有节省太多,因此b
and div
or之间的长度差异span
无论如何都不重要。
HTML 规范说:
b 元素代表一段文本,出于实用目的而被关注的文本,没有传达任何额外的重要性,也没有暗示替代语气或情绪,例如文档摘要中的关键词、评论中的产品名称、可操作的词在交互式文本驱动的软件中,或者文章 lede。
当没有其他元素更合适时,应将 b 元素用作最后的手段。尤其是标题要使用h1到h6元素,重音要使用em元素,重要性要使用strong元素表示,标记或突出显示的文字要使用mark元素。
但另一方面,除了整洁之外,使用 JS 制作它真的没有什么区别。例如, Twitter bootstrap 可怕i
地用于图标!
顺便说一句,这样做的“正确”方法是使用 Shadow DOM——它非常新颖,但它允许您以与select
标签相同的方式隐藏实现细节(即 html 仅具有select
和option
元素,但在还有更多的场景)。
如需演示,请在新浏览器中查看http://adobe.github.com/web-platform/samples/css-regions/shadow-dom/ 。如果您使用 Chrome,则打开 Developer Tools Experiments in chrome://flags/
,然后在检查器菜单中打开 View Shadow DOM 选项。这会让你看到这里发生了什么。
简而言之,您可以制作与其他一切隔离且基本上不可见的元素。您可以照常设置它们的样式,但也可以将它们与 CSS 的其余部分隔离开来。它们的行为就像普通的一样,除了它们不能以正常方式寻址。
如果我正在制作这个插件,我会尽可能地使用 Shadow Dom,回退到span
或b
其他什么,主要是因为酷的东西很酷!