Sam*_*uel 3 html css internet-explorer
这适用于铬(我假设所有其他主要浏览器)
-html-
<invalid></invalid>
Run Code Online (Sandbox Code Playgroud)
-css-
invalid {
color: red;
}
Run Code Online (Sandbox Code Playgroud)
<invalid> 表示无效元素(不是html标准的一部分)
这是一个例子:http://jsfiddle.net/myhonor/4H7Hj/
但是当我在IE中尝试这个时,它不起作用.
为什么会这样,有没有办法解决这个问题(这是一个DTD的事情吗?)
版本9之前的IE不会自动创建与其在标记中无法识别的任何标记相对应的DOM元素.这是HTML5元素在旧IE中不起作用的主要原因,因为旧IE需要包含HTML5 shiv才能工作.
在这种情况下,你甚至不写HTML5; 你正在编写自己的标记语言,它与HTML完全无关.解决此问题的最简单方法是实际编写HTML ...或者如果您坚持编写自己的标记,则必须在minitech演示时手动创建它们,但希望完全依靠自己编写它们.1
1 作为HTML的一部分,浏览器无法识别的元素通常作为HTMLUnknownElementDOM中的对象(包括IE9和更新版本)创建,据说这是为了向前兼容性(参见HTML5).这些对象具有基本属性HTMLElement,但除此之外没有太多可继续...
这就是Internet Explorer的工作方式,包括版本8.要修复它,只需document.createElement使用无效元素的名称调用:
document.createElement('invalid');
Run Code Online (Sandbox Code Playgroud)
这是你更新的jsFiddle.它与您看到的所有HTML5 shivs的想法相同.并且,正如其他人已经建议的那样,编写有效的HTML通常是最好的解决方案:)
| 归档时间: |
|
| 查看次数: |
219 次 |
| 最近记录: |