MS Edge将属性的空白值更改为1

时间:2017-11-09 09:24:10

标签: javascript jquery html microsoft-edge

我已经创建了代码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/

1 个答案:

答案 0 :(得分:0)

这就是将data- prefix用于自定义属性的重要原因。

valuea meaning for li elements

  

value属性(如果存在)必须是valid integer,才能提供列表项的ordinal value

理论上,它仅适用于li内的ol,但是...... (这不是新的;它也是in the HTML4 spec,尽管特征较少 - 彻底定义了......)

因此,您必须对data-value进行更改才能将其用于其他可靠的跨浏览器。