有人知道为什么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>
答案 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-*
属性。