2015-06-17 182 views
-1

我正在學習網絡開發,這是我的第一個問題。對不起,如果我以非結構化的方式問。從Html內部屬性中提取值

我在我的項目中使用flexslider,我想從滑塊中提取一些值。

<ul class="position-list slides background-white"> 
    <li id="172" class="slide pointer season-selector active" data-short-year="17" data-short-desc="FW17"></li> 
    <li id="173" class="slide pointer season-selector active" data-short-year="18" data-short-desc="SS18"></li> 

我想獲得data-short-desc值。我嘗試.find來獲取值,但它不起作用。

$(".position-list").find('data-short-year').val(); 

有什麼方法可以獲得這些值嗎?

+0

下要獲得這些值是什麼事件? –

+0

我得到一個JSON,然後根據我得到的值,我嘗試對它們進行排序。 – ItsZaif

+1

所以你想根據'data-short-year'值來排序'li'元素嗎? –

回答

1

我得到一個JSON,然後我得到的價值,我想對它們進行排序

這是你的問題的標題不同。要做到這一點,你可以使用sort()方法:

$('.position-list li').sort(function(a, b) { 
 
    return $(a).data('short-year') > $(b).data('short-year'); 
 
}).appendTo('.position-list');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul class="position-list slides background-white"> 
 
    <li id="173" class="slide pointer season-selector active" data-short-year="18" data-short-desc="SS18"> 
 
    SS18 - 18 
 
    </li> 
 
    <li id="172" class="slide pointer season-selector active" data-short-year="12" data-short-desc="Bar12"> 
 
    Bar - 12 
 
    </li> 
 
    <li id="172" class="slide pointer season-selector active" data-short-year="10" data-short-desc="Foo10"> 
 
    Foo - 10 
 
    </li> 
 
    <li id="172" class="slide pointer season-selector active" data-short-year="17" data-short-desc="FW17"> 
 
    FW17 - 17 
 
    </li> 
 
</ul>

2

您可以嘗試以下操作: -

$('.position-list li').each(function(){ 
var short_year = $(this).data('short-year'); 
}); 
1

data-short-year是一個屬性,而不是元素。

你需要的屬性選擇:.find('[data-short-year]')

然後你正在尋找獲得屬性,而不是一個表單控件的當前值的內容。

通常情況下,您將使用attr(),但data-*是特殊的:.data('short-year')

+0

好的。我糾正了我的問題。 – ItsZaif