Как узнать имя селектора после события в jQuery?

129
06 декабря 2018, 04:30

Есть некий набор элементов, по которым обрабатывается нажатие. Как вернуть именно тот селектор, по которому jQuery отловил нажатие?

$( "#element, .element1, .element2, ..., .elementN" ).click(function(event) {
     // Вернуть ИМЯ: element1 или element2 и тп
});
Answer 1

Если вернуть атрибут name, то this.name или $(this).attr("name")

Объект будет this или $(this)

Answer 2

Если не находи по 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>

Answer 3
$( "#element, .element1, .element2, .elementN").click(function(event) {
       console.log(e.target.id || e.target.className);
});
READ ALSO
Ссылка на файл не работает

Ссылка на файл не работает

Есть ссылка для открытия файла и картинка, но они не работают, если по ним кликнуть, но если нажать открыть в новой вкладке, то необходимый...

160
Ошибка записи в базу данных

Ошибка записи в базу данных

Помогите пожалуйста решить проблему с базой данных для онлайн игры

182
Отправка данных из поля нажатием на Enter

Отправка данных из поля нажатием на Enter

Какие есть варианты реализации возможности, чтобы при вводе данных в поле на сайте их можно было отравлять не только кнопкой, но и нажатием...

149
Как лучше сверстать элемент

Как лучше сверстать элемент

друзья! Недавно появилась задачкаНужно сверстать вот такой блок как на картинке

187