IE8删除标题元素中的数据属性

时间:2013-10-11 15:46:09

标签: html internet-explorer-8

有人知道为什么IE8在加载页面时会从标题标签中删除数据属性吗?我没有在任何其他浏览器中看到过这种行为。

如果您在IE8中加载以下html并在Dev工具中检查DOM,则数据data-title-attribute属性已被删除。

<!DOCTYPE html>
<html>
    <head>
        <title data-title-attribute="Damn you IE8!">Title</title>
    </head>
    <body data-body-attribute="This works!"></body>
</html>

1 个答案:

答案 0 :(得分:2)

稍微修改一下,看起来IE8在渲染时会删除<title>标记中的所有非HTML4属性。

作为一种解决方法,看起来您可以在<title>呈现到DOM后设置/添加任何属性。所以以下内容在我的测试中有效:

<!DOCTYPE html>
<html>
    <head>
        <title id="title" data-title-attribute="Damn you IE8!">Title</title>
        <script>document.getElementById('title').setAttribute('data-title-attribute', 'Damn you IE8!');</script>
    </head>
    <body data-body-attribute="This works!"></body>
</html>

这会导致您的data-*属性被添加到标题标记中,并可通过Javascript访问。

至于为什么会这样做,老实说我认为你在IE8中发现了一个错误,因为它在几乎所有其他位置都支持data-*属性。