JQuery: не может получить атрибут "значение" div - PullRequest
5 голосов
/ 31 июля 2011

Вот скриншот моей консоли chrome javascript, демонстрирующий мою дилемму.

screenshot of my chrome javascript console demonstrating cannot fetch the

Я серьезно не могу понять, почему я не могу получить атрибут "value".Атрибут "class" работает просто отлично, поэтому я полагаю, что то же самое должно применяться к значению "value".Код (coffeescript), который я тестирую в моем приложении, выглядит следующим образом:

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

Ни этот, ни код, показанный на этом рисунке, не работают.

Кто-нибудь знает, что я делаюнеправильно или что я ДОЛЖЕН делать?Заранее спасибо!

Ответы [ 3 ]

17 голосов
/ 31 июля 2011

Используйте .val().Это будет работать только на select, input, textarea тегах.Для других тегов атрибут value недопустим.

Если вы используете последнюю версию jQuery, используйте вместо нее data- attirbutes:

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

 var value = $('[div selector]').data('value');
2 голосов
/ 31 июля 2011

Я подозреваю, что value особенный, поскольку он используется для значения входных данных формы и так далее, сейчас я читаю исходный код jQuery, чтобы точно узнать, что происходит;но если вы измените его на data-value, как было бы собственно в спецификации HTML5 , это, вероятно, сработает и будет стандартным.

0 голосов
/ 23 ноября 2013

используйте что-то вроде этого

$ ("div [data-request]"). Data (). Возвращает объект, если вы отлаживаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...