Не существует общего способа узнать, какая часть селектора соответствует данному элементу, но если ваши селекторы имеют определенную форму, вы можете использовать определенные свойства.Например, если каждый elementN
является тегом HTML, вы можете использовать this.tagName
для восстановления соответствующего тега:
$('element1, element2, element3').click(function() {
$('#header ' + this.tagName).addClass('active');
});
Аналогично, вы можете использовать this.className
для получения имени (имен) классаэлемента, по которому щелкнули.
Обновление: Поскольку ваши селекторы довольно сложны, единственным выходом может быть привязка отдельных обработчиков для каждого субселектора.Вы можете автоматически генерировать эти обработчики следующим образом:
function bindClick(selector) {
$(selector).click(function() {
$('#header ' + selector).addClass('active');
});
}
var selectors = [ 'a[href*="/el1"]', 'a[href*="/el2"]', 'a[href*="/el3"]' ];
for (var i = 0; i < selectors.length; i++)
bindClick(selectors[i]);