在添加类之后获取元素文本值

时间:2017-12-05 18:53:25

标签: javascript jquery class

我正在尝试获取在单击后添加类的元素的文本值。但我无法得到它。我也尝试过使用html()。

 let selectLevel;

function selectOption(menu) {

  $(menu).on('click', "li", function() {

    $(menu).find('.activeSelection').removeClass();
    $(this).addClass('activeSelection');

  });
}

$(document).ready(function() {

  selectOption('.levelList');

  selectLevel = $('.levelList').find('.activeSelection').text();

});

1 个答案:

答案 0 :(得分:1)

我能想象的最简单的方法是在单击list元素时触发自定义事件,然后将函数绑定到此事件以更新变量。

以下示例:



let selectLevel;

function selectOption(menu) {

  $(menu).on('click', "li", function() {

    $(menu).find('.activeSelection').removeClass();
    $(this).addClass('activeSelection');
    $(menu).trigger('itemChanged'); //trigger custom event
  });
}

$(document).ready(function() {

  selectOption('.levelList');

  $('.levelList').on('itemChanged', function() { // wait for event on your menu
    selectLevel = $(this).find('.activeSelection').text();
    console.log(selectLevel); // just logging the current value
  });
  
});

.activeSelection {
  font-weight: bold;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<ul class="levelList">
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</ul>
&#13;
&#13;
&#13;