Как получить элемент с аттрибутом data-action?

Есть элемент

<span class="datepicker--button" data-action="apply">Применить</span>

Нужно передать его в переменную button. Как это сделать

let button = $('[data-action="apply"]');

Не работает

Весь код

$(function(){

  $(function addApplyButton() {
    let isPickerButtons = $('#date-picker').find('.datepicker--buttons');
    if (isPickerButtons) {
      isPickerButtons.append('<span class="datepicker--button" data-action="apply">Применить</span>');
    }
  });
  addApplyButton();

  let isApplyButton = $('[data-action="apply"]');
  console.log(isApplyButton);

});

функция addApplyButton(); добавляет кнопку, но console.log(isApplyButton) ничего не выводит


Ответы (1 шт):

Автор решения: Aziz Umarov

Так Попробуйте.

$(function(){

  function addApplyButton() {
    let isPickerButtons = $('#date-picker').find('.datepicker--buttons');
    if (isPickerButtons.length > 0) {
      isPickerButtons.append('<span class="datepicker--button" data-action="apply">Применить</span>');
    }
  };
  
  addApplyButton();

  let isApplyButton = $('[data-action="apply"]');
  console.log(isApplyButton);

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

→ Ссылка