2013-02-12 2 views
2

Я разработал галерею изображений, используя плагин jQuery. Теперь мне нужно выбрать значение атрибута выбранного изображения. Для этого я использовал следующий код.Как получить конкретное значение элемента в jQuery

var img=$('li.selected'); 
var comm = $("textarea#comm").val(); 
var dataid=$(img).attr('data-id'); 
var dataalid=$(img).attr('data-alid'); 

и в HTML-страницу выбранный список:

<li class="selected" style="margin-right: 3px; width: 69px;"> 

То есть следующий список:

<div class="es-carousel" id="loader"> 
<ul class="es-carousel"> 
<li><a href="#"><img src="data:image/jpeg;base64,/9j/4AAQSwAEASSlPA47U..../9kA" alt="xyz" data-description="Retrieving images with jquery and servlet" data-id="1" data-alid="6"/></a></li> 
... 
</div> 

Мне нужно получить значение data-id и data-alid. Я не знаю, как получить ценность. Я новичок в jQuery.

Пожалуйста, помогите мне. Благодарю.

+0

Вместо '.attr()'; используйте '.data()'. – hjpotter92

+0

Как раз в точку ... вам не нужно добавлять селектор элементов в большинстве случаев. Особенно для ID. Чтобы сделать вещи немного более эффективными, вы можете изменить селектора на 'var img = $ ('. Selected img');' и '$ (" # comm "). Val();'. Кроме того, поскольку переменная img уже является объектом jQuery, вам не нужно обертывать ее как объект jQuery, например 'img.attr ('data-id');' должен работать. – Alex

ответ

8

При этом:

var img=$('li.selected'); 

Вы выбираете LI элемент, а не IMG. Вы должны сделать это так:

var img = $('li.selected img'); 

Кроме того, вам не нужно обернуть img в JQuery снова, просто сделать:

var dataid = img.attr('data-id'); 

Или даже:

var dataid = img.data('id'); 
+0

Спасибо вам большое ... Это сработало .... – 2013-02-12 09:12:47

0

переменная в вашей первой строке называется img, поэтому вы, вероятно, хотите получить изображение внутри элемента списка, но просто получите элемент списка.

Попробуйте вместо этого:

var img = $('li.selected img'); 
Смежные вопросы