![]() |
1
13
没有浏览器限制/风险。只有W3验证器会吠叫,但是吠叫的狗不会咬人。 这个 w3 spec 如下所示:
IE也将 不 以怪癖模式渲染,或者一些人可能认为的那样。它只能在无效/强制的doctypes上执行此操作,而不能在无效的属性上执行此操作。 但是,请记住,一些JavaScript库/框架将“无形地”添加/使用DOM树中的自定义HTML属性,例如几个jquery插件。这样,您可能会面临属性冲突的风险,因为它“偶然”使用的属性与您为自己的目的使用的属性同名。可悲的是,这通常很糟糕,甚至根本没有记录在案。 |
![]() |
2
10
HTML 5允许使用“data-”前缀自定义属性,请参见 http://ejohn.org/blog/html-5-data-attributes/ |
![]() |
3
9
如果目标是保持有效的HTML4.0严格,那么为什么要放入自定义属性并不重要,而是破坏了目标。 我认为您需要问的问题是,为什么您需要打破4.0的严格性来获得您想要的功能:您可以为自己使用自定义属性的任何内容,都可以在现有属性中使用:
可以是:
解析所有类信息需要一些额外的周期,但是只要你不在该类上放置任何CSS信息,它不会改变显示,不会将你置于怪癖模式,也不会让你在工作中陷入争斗。 |
![]() |
4
2
|
![]() |
5
1
不,错误的属性不会强制更改渲染模式。 如果您不关心验证,可以做您喜欢做的事情,但是验证是一个有用的工具,它可以检测简单的错误,否则会让您在调试过程中四处奔波。考虑到有许多其他非常好的方法可以将数据传递给javascript,我宁愿使用其中的一种,而不是放弃验证。
另外,当您添加任意属性时,您将有效地在全局命名空间中播放。不能保证将来的浏览器或标准版不会决定使用名称“translationkey”来提供一些新功能,这些新功能会使您的脚本出错。因此,如果必须添加属性,请为它们指定一个模糊且可能唯一的名称,或者只使用HTML5
|
![]() |
6
0
如果页面声明为HTML4严格,则不应添加该HTML指定中未使用的属性。与此不同的是,目前还不清楚浏览器的行为。
|
![]() |
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 3 月前 |
|
Jamie · 在CSS链接的文件名中添加Jinja占位符 3 月前 |
![]() |
ptownbro · 重叠分区标签,同时保持以下所有分区和内容就位 3 月前 |
![]() |
john Rizzo · 按钮背景颜色、悬停和活动状态存在问题 4 月前 |