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
.
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
.