我已经创建了代码 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/
最佳答案
这就是为什么使用 data-
prefix 很重要用于自定义属性。
值
有 a meaning for li
elements :
The
value
attribute, if present, must be a valid integer giving the ordinal value of the list item.
理论上,它仅适用于 ol
中的 li
,但是...(这不是新鲜事;它也是 in the HTML4 spec,尽管特征上定义不那么彻底...)
因此,您必须对 data-value
进行更改,以便将其可靠地跨浏览器用于其他用途。
关于javascript - MS Edge 将属性的空白值更改为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47198115/