Я пытаюсь поймать остаток класса из элемента jquery - PullRequest
0 голосов
/ 24 апреля 2020

Я с трудом пытаюсь поймать 1 из modal-id-.

<div class="card-pg modal-id-1"></div>

Как я могу сделать это внутри этой функции?

$('.card-pg').click(function () {

});

I попытался использовать это

$(this).attr('class').split(/\s+/)

Но это дает мне classList как HTMLElement.classList, и если я выберу $(this).attr('class').split(/\s+/)[1], чтобы поймать второй класс, я могу потерять гибкость, вставляя класс modal-id-1 куда угодно Я хотел.

1 Ответ

0 голосов
/ 24 апреля 2020

Вы можете начать с .attr('class').split, чтобы получить список классов, затем вы можете проверить каждый из них, чтобы проверить, начинается ли он с modal-id-, т.е. :

const MODAL_ID = 'modal-id';
$(function() {
  $('.card-pg').click(function() {
    let classes = $(this).attr('class').split(/\s+/);
    classes.forEach(c => {
      if (c.indexOf(MODAL_ID) == 0) {
        let modal_id = c.substr(MODAL_ID.length);
        console.log(modal_id)
      }
    });
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="card-pg modal-id-1">div</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...