从Html的内部属性中提取值

时间:2015-06-17 09:30:26

标签: javascript jquery html flexslider

我正在学习网页开发,这是我的第一个问题。对不起,如果我以非结构化的方式询问。

我在项目中使用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();

有没有办法获得这些价值?

3 个答案:

答案 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()方法:

&#13;
&#13;
$('.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;
&#13;
&#13;