IE 11 中 li 元素的 value 属性的规则是什么?

what's the rule about value attribute on li element in IE 11?

IE 11 与 Windows 7 pro sp1 最新

问题是当我将li元素的值设置为“1#ab”时,“#ab”被截断,只剩下“1”,如下:

但是如果我将值设置为“1a#b”,一切正常,如下图:

这是为什么?我不明白。 我已经在 Chrome 中尝试过这些情况,都没有问题。 MS只说li元素的值应该是一个整数,似乎仅此而已: http://msdn.microsoft.com/en-us/library/ie/ms535124(v=vs.85).aspx

HTML 规则是,如果元素是 ol 元素的子元素,则 li element 可以具有 value 属性,并且属性必须是整数。 HTML5 甚至规定了处理畸形值的规则。在value="1#ab"的情况下,应使用值1,其余忽略。 value="1a#b" 的结果应该相同。但是,众所周知,错误处理因浏览器而异。 HTML5 正在努力消除差异,但这还有很长的路要走。

你应该使用什么取决于你想要完成的事情。当前代码在两个方面无效:此处根本不允许 value 属性,如果元素是 ol 的子元素,则属性值将无效。

如果您只是想将数据存储在元素中,以便在脚本中使用,请改用 data-* attribute,例如data-value.