【问题标题】:How to get dom attributes with signed integers values in IE如何在 IE 中获取带符号整数值的 dom 属性
【发布时间】:2015-05-11 08:33:37
【问题描述】:

我需要像这样使用有符号整数作为属性值:

<li class="doc ui-state-default" value="-6805472">

当我尝试在 jQuery 中使用 $(li).attr('value') 检索此值时 它返回 0 而不是实际值。你能帮我解决这个问题吗?

提前致谢。

【问题讨论】:

  • 什么是li?提供简约样本来复制问题
  • li 没有value 属性

标签: javascript jquery internet-explorer dom


【解决方案1】:

首先,您应该将li 选择器用引号括起来,因为它是一个字符串。此外,value 不是li 元素上的有效属性。然而更重要的是,添加您自己的自定义属性会使页面无效,并可能导致 UI 和 JS 问题。

改为使用data-* 属性,因为它们是为此目的而设计的:

<li class="doc ui-state-default" data-value="-6805472">

然后您可以使用 jQuery 的 data() 方法访问该值:

var foo = $('li').data('value'); // = -6805472

Example fiddle

【讨论】:

  • 关于data-* 属性的好点,但没有解释为什么 OP 的代码在 IE 上不起作用(返回 0),或者我错过了什么?!
  • @A.Wolff 这是真的,老实说,我不知道为什么 IE 返回 0 - 因为它确实不应该。在这一点上,我能提供的只是最佳实践指导和可行的解决方案。
猜你喜欢
  • 2017-10-22
  • 2010-11-25
  • 2013-09-02
  • 2019-10-06
  • 2023-03-03
  • 2013-06-19
  • 1970-01-01
  • 1970-01-01
  • 2019-04-14
相关资源
最近更新 更多