2013-02-18 5 views
1

У меня есть HTML структура, как это:получить значение из тега

<div class="dk_options"> 
    <ul class="dk_options_inner"> 
     <li class="dk_option_current"><a data-dk-dropdown-value="">Select State</a></li> 
     <li class=""><a data-dk-dropdown-value="1">AK</a></li> 
     <li class=""><a data-dk-dropdown-value="2">AL</a></li> 
     <li class=""><a data-dk-dropdown-value="3">AR</a></li> 
     <li class=""><a data-dk-dropdown-value="4">AZ</a></li> 
     <li class=""><a data-dk-dropdown-value="5">CA</a></li> 
     <li class=""><a data-dk-dropdown-value="6">CO</a></li> 
    </ul> 
</div> 

Я хочу, чтобы получить значение атрибут тега данных-Dk-выпадающее значение. мой код всегда показывать пустой

var a=jQuery('#dk_container_businessState .dk_options ul li a').attr('data-dk-dropdown-value'); 
alert(a); 
+0

данных ("дк-выпадающее значение") скорее всего, будет работать лучше и, по крайней мере, будет работать по назначению атрибутом данных – mplungjan

ответ

2

Попробуйте это:

jQuery('#dk_container_businessState .dk_options li').each(function(){ 
    var a = jQuery(this).find('a').attr('data-dk-dropdown-value'); 
    alert(a); 
}); 

Вместо этого используйте .data() для лучшего использования:

var a = jQuery(this).find('a').data('dk-dropdown-value'); 

Read for data-* custom attributes

-1

Ваш селектор собирает все элементы в ваш список, но метод .data() действует только на первый матовый hed. Значение атрибута data-dk-dropdown-value этого элемента - «».

Если вы хотите, чтобы все значения для каждого элемента, попробовать что-то вроде этого:

var a=[]; 
jQuery('#dk_container_businessState .dk_options ul li a').each(function() { 
    a.push($(this).data('dk-dropdown-value')); 
}); 
alert(a); 
+0

Почему голосующий? –

0

Не используйте Attr, есть функция data для этого. Правильный путь для выбора данных элемента является:

var val = $('.dk_options ul li a').data('dk-dropdown-value'); 

Чтобы установить использование данных:

$('.dk_options ul li a').data('dk-dropdown-value', 'value'); 
0

Попробуйте это,

$(document).ready(function() { 
    $('.dk_options .dk_options_inner li a').each(function(){ 
     alert($(this).attr('data-dk-dropdown-value')); 
    }); 
}); 
Смежные вопросы