Я пытаюсь получить доступ к классу, которому соответствует селектор jQuery в функции обратного вызова. Например, если у меня есть следующий HTML,
<p class="someclass sorted-1 anotherclass">test</p>
Я бы хотел сопоставить этот элемент и получить имя класса sorted-1
. Значение 1
является произвольным. Что-то вроде следующего. getMatchedClass()
- псевдокод. Я думал, что смогу получить значение из $(this)
, но я его не вижу.
$('[class*=sorted-]').on('click', function() {
var className = getMatchedClass();
console.log(className); // should output 'sorted-1'
});
Кто-нибудь знает, возможно ли это? Мне трудно придумать условия поиска. Я продолжаю получать результаты по выбранным значениям, а это не то, что я хочу.
Спасибо
Обновление
На основе ответа @ maheer-ali я нашел следующее решение.
$(function() {
function column(className) {
const regex = /sorted-([0-9]+)/;
return className.match(regex)[0].replace(regex, '$1');
}
$('[class*=sorted-]').each(function(i, r) {
// col is the dashed number after sorted
// if parsing `sorted-42`, `col` would equal 42
const col = column($(r).context.className);
// Use the `col` value here.
$(r).doSomething({ column: col });
});
});