http://bootsnipp.com/snippets/9ypWX
问题是这样的:
我一直在研究一个主要依赖BootStrap Navbars的应用程序。为了将值传递给javascript函数,我将属性“value”添加到了许多li元素中。 一个例子:Internet Explorer 11将value =“1_1”更改为value =“1”!我能做什么?
<ul>
<li value="1_1" onclick="doSomethingTo(this);">Option1</li>
<li value="1_2" onclick="doSomethingTo(this);">Option2</li>
</ul>
一切工作正常,直到我尝试在IE浏览器。然后突然,Internet Explorer决定将属性更改为值=“1”。它在浏览器中呈现为:
<ul>
<li value="1" onclick="doSomethingTo(this);">Option1</li>
<li value="1" onclick="doSomethingTo(this);">Option2</li>
</ul>
我现在无法访问处理函数中使用的值的其余部分。
有什么我可以做IE浏览器,使其停止改变属性值在这种情况下?这是一个已知的问题吗?
我现在的解决方法是将所有的属性名称改为'val',而改变我的所有javascript。对此并不满意。
谢谢。
可能是因为“li”上的'value'不是有效的HTML。用'data-'尝试一些东西,例如'data-value =“1_1”' – putvande
li上的值只能是一个数字(http://www.w3schools.com/tags/att_li_value.asp),它用于排序列表。您的清单没有订购,为什么使用价值? – Cristy