自定义标签在ie8中不起作用

ran*_*ght 3 css ie8-compatibility-mode

我尝试制作自定义标签,以便用户可以输入显示红色或粗体等字样的文本,例如,当呈现为HTML时,

<rb>text here becomes red and bold</rb> and goes to default here
Run Code Online (Sandbox Code Playgroud)

这会在带有'note'类的div中呈现,并且我有以下css设置

.note rb
{
    color:Red;
    font-weight:bold;
}
Run Code Online (Sandbox Code Playgroud)

它适用于ie9,chrome,firefox,但在ie8中不起作用.我怎样才能在那里工作?

wid*_*ara 19

如果你不介意一点点javascript:

<!--[if lt IE 9]>
<script>
document.createElement("rb");
</script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

如果要添加多个元素/标签,您可以:

<!--[if lt IE 9]>
<script>
// bold, italic, underlined, striked
els = ['rb', 'ri', 'ru', 'rs'];
for(i = 0; i < els.length; i++) {
    document.createElement(els[i]);
    }
</script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

更新

看起来能够定义自定义元素的工作(W3C Working Draft 6 June 2013)

一些使用它的项目:

也可以看看:

  • 这是所述问题的"正确"答案,尽管我尊重地建议您的方法本身 - 使用自定义标签用于风格目的 - 是相当可怕的.(请注意,您需要在文档头部的某处添加此代码才能使其正常工作.) (2认同)