有没有人知道我是否可以在网页中使用自定义HTML属性,大多数移动设备都可以读取它?或者某些设备会将属性省略为默认方式?换句话说:安装到移动设备中的大多数默认Web浏览器都能够处理自定义属性吗?
我有一些像这样的代码:
<input type="text" id="txt1" value="0" percent="50" idColor="12">
答案 0 :(得分:1)
您正在谈论的项目是属性。如果webbrowser不理解某个特定属性,应该忽略它们。
答案 1 :(得分:1)
现代浏览器通常将未知属性视为分配给元素的属性,没有任何默认影响,但在CSS和JavaScript中被识别为属性。在您的情况下,例如,CSS选择器input[idColor]
将匹配具有属性input
的{{1}}元素,即使HTML规范中未定义此类属性。
但是,在JavaScript中,它们通常不能直接作为属性使用,例如,虽然存在浏览器差异,但idColor
会产生document.getElementById('txt1').percent
。但undefined
会产生document.getElementById('txt1').getAttribute('percent')
。
我希望这也适用于移动浏览器,不过我只在Android上测试过它。
在HTML中组建自己的属性名称是不安全的。如果某些未来的HTML规范或仅仅是某些浏览器为名为50
的属性赋予意义,会发生什么?对于我们现在可以做到的一切,意义可能非常令人惊讶。
因此,建议使用携带任意数据的属性以在客户端脚本编写中使用的方法是使用names that start with data-
。这为您提供了自己的命名空间。没有合理的浏览器或搜索引擎会将这些属性视为页面作者的私人操场之外的任何东西,不要搞砸。所以最好使用例如percent
。