Я ищу решения для сравнения элементов id
внутри плагина.Это код, который имеет проблему:
(function($, window, undefined) {
$.fn.thePlugin = function() {
return this.each(function() {
const $el = $(this);
console.log($el);
if ($el == $('#bird')) {
console.log($el + ' is a bird.');
// $el == document.getElementById('bird')
// $el == document.getElementById('bird').id didn't work.
} else if ($el == $('#superman')) {
console.log($el + ' is Superman');
}
})
}
}(jQuery));
$('#bird').thePlugin();
$('#superman').thePlugin();
w.fn.init [div # bird]
w.fn.init [div # superman]
Очевидно, что console.logs
, которые находятся внутри if statement
, не запускаются.Запускается только 1 журнал, который находится за пределами if statement
.
. Я протестировал 2 способа решения этой проблемы, используя селекторы jQuery и без селекторов jQuery, но все способы не работали.
Есть ли способы сравнить id
внутри структуры плагина?
Я не могу использовать getElementByClassName
, потому что мой стиль DOM всегда начинается с id
как то так:
#section {
.container {
.grid {
}
}
}