这是我的chrome javascript控制台的屏幕截图,展示了我的困境。
我真的无法理解为什么我无法获取“value”属性。 “class”属性工作正常,所以我认为应该适用于“value”。 我正在我的应用程序中测试的代码(coffeescript)如下所示:
$ ->
$(".comment").click ->
alert $(this).attr 'value'
此图片中显示的此代码和代码均无效。
有谁知道我做错了什么或我应该做什么?提前谢谢!
答案 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(),如果您调试,则返回该对象。