Есть некий набор элементов, по которым обрабатывается нажатие. Как вернуть именно тот селектор, по которому jQuery отловил нажатие?
$( "#element, .element1, .element2, ..., .elementN" ).click(function(event) {
// Вернуть ИМЯ: element1 или element2 и тп
});
Если вернуть атрибут name, то
this.name или $(this).attr("name")
Объект будет this или $(this)
Если не находи по id то ищет по классу в classList, возвращает первый подходящий класс. Если один элемент имеет два класса указанных в selector, то возвращается первый совпавший. id всегда первый в приоритете.
const selector = "#element, .element1, .element2"
$(selector).click(function (event) {
const myClass = [...this.classList].find(i => selector.includes('.' + i))
console.log(this.id || myClass)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="element">element</div>
<div class="element1 fff">element1 fff</div>
<div class="bbb element2 rrr">bbb element2 rrr</div>
<div class="element1 element2">element1+element2</div>
$( "#element, .element1, .element2, .elementN").click(function(event) {
console.log(e.target.id || e.target.className);
});
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости