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

标签 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/

最佳答案

这就是为什么使用 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/

相关文章:

JavaScript 使用 3 轴鼠标 Canvas 绘制

jQuery UI 更改颜色无法正常工作(RoR 应用程序)

html - 在输入字段中禁用丑陋的黄色高亮显示。 HTML CSS

html - 加载 GIF(预加载器)仅在 Chrome 上卡住 - 另一个观点

javascript - 同一网页上的多个 javascript/jquery 脚本

javascript - 使用 AngularJS 按字母顺序对用户输入进行排序

javascript - 多个 Promise 并行运行,$q.all 需要链接吗?

javascript - 将文件从一个文件夹复制到同一存储桶 NODE JS 的 s3 中的另一个文件夹

javascript - 滚动后固定辅助导航栏

javascript - jquery 标签 - 它不会自动完成