【问题标题】:jquery: cannot fetch the "value" attribute of a divjquery:无法获取 div 的“值”属性
【发布时间】:2013-11-23 13:31:24
【问题描述】:

这是我的 chrome javascript 控制台的屏幕截图,展示了我的困境。

我真的无法理解为什么我无法获取“值”属性。 “类”属性工作得很好,所以我认为同样适用于“价值”。 我在我的应用程序中测试的代码(coffeescript)如下所示:

$ ->
  $(".comment").click ->
   alert $(this).attr 'value'

这和这张图片中显示的代码都不起作用。

有谁知道我做错了什么或我应该做什么?提前致谢!

【问题讨论】:

  • 您使用的是什么版本的 jQuery?我刚刚在 1.6.2 上尝试过,对我来说效果很好。

标签: jquery jquery-selectors coffeescript


【解决方案1】:

使用.val()。这仅适用于select, input, textarea 标签。对于其他标签,value 属性无效。

如果您使用的是最新的 jQuery,请改用 data- attirbutes:

<div class="comment" data-value="64">

 var value = $('[div selector]').data('value');

【讨论】:

  • 那么我该如何使用 div 呢?我应该将属性命名为“值”以外的名称,然后使用 attr?
  • 我明白了,非常感谢你:) 我按照你说的做了,现在可以了。
【解决方案2】:

我怀疑value 是特殊的,因为它用于表单输入的值等等,我现在正在阅读 jQuery 源代码以查看到底发生了什么;但是,如果您将其更改为 data-value,就像 HTML5 spec 中的 proper 一样,这可能会起作用并且是标准的。

【讨论】:

    【解决方案3】:

    使用类似的东西

    $("div[data-request]").data() ,如果您调试,这将返回对象。

    【讨论】:

      猜你喜欢
      • 2014-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-09
      相关资源
      最近更新 更多