根据this question,可以在html标记中存储数据,现在我的DOCTYPE
标题如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
我想知道我应该记住哪些交叉/向后兼容性,例如,如果我尝试使用javascript访问某个浏览器中的output-file
属性,那么哪些版本的浏览器会出现问题表格标签。 E.g。
<form name="myForm" id="myForm" output-file="export.log">
编辑:我的标题的原因是我正在添加到现有的内部网系统上,并且他们对每个页面都使用相同的标题,它在HTML5之前就已存在(理想情况下我想要使用它)
编辑2:我很清楚我应该使用data-
作为我的属性的前缀但是我可以使用console.log(document.getElementById("myForm").getAttribute("output-file"))
就好了并得到正确的结果,我想有人会接受这个以及解释可能的问题交叉/向后兼容性
答案 0 :(得分:2)
为什么HECK使用的是过渡性文档类型?为什么不严格?
无论如何 - 回答你的问题,是的,你可以使用HTML存储,但你应该正确的语法:
<form name="myForm" id="myForm" data-output-file="export.log">
请注意使用data-
前缀。
您可以在javascript中阅读:
var el = document.getElementById("myForm");
var filename = el.getAttribute("data-output-file");
el.setAttribute("data-output-file", "newName");
修改强>
所有现代浏览器都支持使用data-*
属性,甚至可以追溯到IE。你不会在那里遇到任何兼容性问题。
要回答另一个问题:使用data-*
前缀:
HTML5
标准专门为此目的预留了data-*
命名空间。<element>.dataSet
时,您可以使用它而不是hacky setAttribute
和getAttribute
。编辑2