jQuery .attr при получении пользовательского атрибута возвращает неопределенное - PullRequest
8 голосов
/ 10 июня 2011

У меня следующая проблема с использованием jquery.

У меня есть что-то вроде этого

<div id="yxz" value="1">
  <span class="delete"></span>
</div>

теперь у меня есть этот fn, но он возвращает только «неопределенное», однако он возвращает id или класс, если я попрошу об этом.

$(".delete").click(function(){
  alert($(this).parent("div").attr("value"));
});

Я использовал это значение для того же атрибута. Имеет ли это что-то связанное со мной при использовании jquery 1.6.1 вместо 1.5.2.

Спасибо за вашу помощь.

Ответы [ 5 ]

5 голосов
/ 10 июня 2011

Я могу подтвердить, что этот фрагмент кода отлично работает в Chrome 11, Firefox 4 и IE 9, используя версию jQuery Git.

РЕДАКТИРОВАТЬ: Для тех, кто рекомендует prop (), проверьте документы .Prop () используется для логических атрибутов, таких как: проверено, отключено и т. Д.

3 голосов
/ 10 июня 2011

Чтобы получить значение элементов, используйте val () .Поскольку у div нет значений, вы должны использовать data () для установки и получения данных.

0 голосов
/ 10 июня 2011

Ваш код работает нормально в этой скрипке , используя jQuery 1.6

0 голосов
/ 10 июня 2011

Да, начиная с jQuery 1.6, я думаю, вам нужно использовать .prop() вместо attr().

0 голосов
/ 10 июня 2011

если используется последняя версия jQuery, попробуйте:

$.prop(propertyName);

...