我已经创建了代码javascript来获取列表的值,但是在windows edge中,它返回值1,其中<li>
的实际值为空。
例如:
HTML代码
<ul>
<li value="">Test 1</li>
<li value="a">Test 2</li>
<li value="b">Test 3</li>
</ul>
Javascript / JQuery代码
$('ul').find('li').each(function(){
console.log($(this).attr('value')); //1st <li> value is showing "1", it should be blank as it is set already
});
代码在所有其他浏览器上运行正常,但它不适用于Microsoft Edge
这是jsfiddle链接:http://jsfiddle.net/53sos61u/
答案 0 :(得分:0)
这就是将data-
prefix用于自定义属性的重要原因。
value
有a meaning for li
elements:
value
属性(如果存在)必须是valid integer,才能提供列表项的ordinal value。
理论上,它仅适用于li
内的ol
,但是...... (这不是新的;它也是in the HTML4 spec,尽管特征较少 - 彻底定义了......)
因此,您必须对data-value
进行更改才能将其用于其他可靠的跨浏览器。