我正在学习网页开发,这是我的第一个问题。对不起,如果我以非结构化的方式询问。
我在项目中使用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 :(得分:2)
您可以尝试以下操作: -
$('.position-list li').each(function(){
var short_year = $(this).data('short-year');
});
答案 1 :(得分:1)
data-short-year
是属性,而不是元素。
您需要一个属性选择器:.find('[data-short-year]')
然后,您希望获取属性的内容,而不是表单控件的当前值。
通常情况下,您会使用attr()
,但data-*
是特殊的:.data('short-year')
。
答案 2 :(得分:1)
我得到一个JSON,然后得到我得到的值,我正在尝试对它们进行排序
这与您问题的标题不同。为此,您可以使用sort()
方法:
$('.position-list li').sort(function(a, b) {
return $(a).data('short-year') > $(b).data('short-year');
}).appendTo('.position-list');
&#13;
<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>
&#13;