JQuery - 在活动类时获取值data-attribute

Ter*_*nce 6 html javascript jquery

我正在尝试在我的console.log中标记具有活动类时显示data-attributeanchor

不幸的是,它总是输出一个null值.

我提到了这个stackoverflow问题

这是我的HTML:

$(document).ready(function () {

  $('.list-group-item').on('click', function (e) {

    var previous = $(this).closest(".list-group").children(".active");
    previous.removeClass('active'); // previous list-item
    $(e.target).addClass('active'); // activated list-item

    var itemType = $('.list-group a').find('.active').data('itemtype');

    console.log(itemType);

  });

});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="list-group">
  <a href="#" class="list-group-item" data-itemtype="1">Cras justo odio</a>
  <a href="#" class="list-group-item" data-itemtype="0">Dapibus ac facilisis in</a>
  <a href="#" class="list-group-item" data-itemtype="3">Morbi leo risus</a>
  <a href="#" class="list-group-item" data-itemtype="4">Porta ac consectetur ac</a>
  <a href="#" class="list-group-item" data-itemtype="2">Vestibulum at eros</a>
</div>
Run Code Online (Sandbox Code Playgroud)

请帮助我跟上开发的步伐.

先感谢您

Rah*_*tel 2

因此"active"在具有类的 div 中查找类list-group,因此使用$('.list-group').find('.active').data('itemtype')选择器代替$('.list-group a').find('.active').data('itemtype')

您的选择器将尝试在div 标签中$('.list-group a').find('.active').data('itemtype')查找存在问题的类。activealist-group

请检查工作片段。

$(document).ready(function () {

  $('.list-group-item').on('click', function (e) {

    var previous = $(this).closest(".list-group").children(".active");
    previous.removeClass('active'); // previous list-item
    $(e.target).addClass('active'); // activated list-item

    var itemType = $('.list-group').find('.active').data('itemtype');

    console.log(itemType);

  });

});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="list-group">
  <a href="#" class="list-group-item" data-itemtype="1">Cras justo odio</a>
  <a href="#" class="list-group-item" data-itemtype="0">Dapibus ac facilisis in</a>
  <a href="#" class="list-group-item" data-itemtype="3">Morbi leo risus</a>
  <a href="#" class="list-group-item" data-itemtype="4">Porta ac consectetur ac</a>
  <a href="#" class="list-group-item" data-itemtype="2">Vestibulum at eros</a>
</div>
Run Code Online (Sandbox Code Playgroud)