Browser HTML自定义属性是否与移动设备兼容?

Browser HTML自定义属性是否与移动设备兼容?,browser,custom-attributes,smartphone,html,Browser,Custom Attributes,Smartphone,Html,有人知道我是否可以在网页中使用自定义HTML属性,大多数移动设备都可以读取它吗?或者某些设备会以默认方式忽略属性?换句话说:大多数安装在移动设备中的默认web浏览器都能够处理自定义属性 我有一些这样的代码: <input type="text" id="txt1" value="0" percent="50" idColor="12"> 您正在谈论的项目是属性。如果webbrowser不理解某个特定属性,它应该忽略它们。现代浏览器通常将未知属性视为分配给元素的属性,没有任何默认影

有人知道我是否可以在网页中使用自定义HTML属性,大多数移动设备都可以读取它吗?或者某些设备会以默认方式忽略属性?换句话说:大多数安装在移动设备中的默认web浏览器都能够处理自定义属性

我有一些这样的代码:

<input type="text" id="txt1" value="0" percent="50" idColor="12">


您正在谈论的项目是属性。如果webbrowser不理解某个特定属性,它应该忽略它们。

现代浏览器通常将未知属性视为分配给元素的属性,没有任何默认影响,但在CSS和JavaScript中被识别为属性。例如,在您的例子中,CSS选择器
input[idColor]
将匹配那些具有属性
idColor
input
元素,即使HTML规范中没有定义这样的属性

然而,在JavaScript中,它们通常不能直接作为属性使用,因此,例如
document.getElementById('txt1')。尽管存在浏览器差异,但百分比
将产生
未定义的
。但是
document.getElementById('txt1').getAttribute('percent')
将产生
50

我希望这也适用于移动浏览器,尽管我只在Android上测试过

但是,在HTML中编写自己的属性名是不安全的。如果将来的某个HTML规范,或者仅仅是某个浏览器,为名为
percent
的属性指定了一个含义,会发生什么情况?尽管我们现在能做到,但其含义可能相当令人惊讶

因此,在客户端脚本中使用携带任意数据的属性的建议方法是使用。这将为您提供自己的命名空间。任何一个合理的浏览器或搜索引擎都不会将这些属性视为页面作者的私人游乐场,而不会弄糟。因此,最好使用例如
data percent=“50”data color=“12”