有没有办法让非标准属性像
onselectstart
oncontextmenu
...
在标签中,仍然以某种方式通过 HTML 4.01 过渡验证?
除了稍后使用 Javascript 添加属性。
最佳答案
虽然您不能在 HTML 4.01 中添加自己的标签或属性,但一种常见的技术是使用标准 HTML 标签或属性来包含您的信息,即使根据规范这不是完全正确的用法。例如,'class' 属性几乎可以存储任何类型的数据:
<a href="#" id="user-link-1" class="username:matt email:matt@example.com">Matt</a>
您可以检索上面链接的类并将“类”属性拆分以检索您的数据。
我见过的一些用于自定义数据的其他标签和属性:<script>
具有非 JavaScript“类型”值、隐藏输入值、各种标签上的“标题”属性的标签。
如果您不介意从 HTML 4 更改,您还有几个其他选项:
- 使用支持 custom attributes that start with 'data-' 的 HTML 5
- 使用 XHTML,通过 an XML namespace 支持自定义标签和属性.
您还可以通过 JavaScript 在运行时向您的 HTML 文档添加自定义属性。例如:
var body = document.getElementsByTagName("body")[0];
body["my-attribute"] = "Hello, world!";
alert(body["my-attribute"]);
如果您的信息是动态的并且根本不需要存储在标记中,这会很有帮助。
关于javascript - 如何以有效的方式添加非标准属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1785675/