jquery:无法获取div的“value”属性

时间:2011-07-31 03:20:12

标签: jquery jquery-selectors coffeescript

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

screenshot of my chrome javascript console demonstrating cannot fetch the "value" attribute of a div

我真的无法理解为什么我无法获取“value”属性。 “class”属性工作正常,所以我认为应该适用于“value”。 我正在我的应用程序中测试的代码(coffeescript)如下所示:

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

此图片中显示的此代码和代码均无效。

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

3 个答案:

答案 0 :(得分:17)

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

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

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

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

答案 1 :(得分:2)

我怀疑value是特殊的,因为它用于表单输入的值等等,我现在正在阅读jQuery源代码以确切了解正在发生的事情;但如果您将其更改为data-value proper HTML5 spec,那么这可能会有效并且是标准的。

答案 2 :(得分:0)

使用像这样的东西

 

$(“div [data-request]”)。data(),如果您调试,则返回该对象。