Использую скрипт, который в теле колбека при вызове this возвращает DOM:
Почему я могу получить значение атрибута id div-блока при помощи getAttribute() и не могу при помощи attr()? Эти две функции делают не одно и то же?
Отличия между attr() и getAttribute() в основном в тому что attr() ето функция библиотеки jquery, которая работает с jquer-ным обьектом (который является какой-то оберткой над стандартным дом обьектом). getAttribute() в свою очередь стандартный js метод, и он работает с дом обьектами, а с jquer-ным обьектом естественно не сработает, так как у етого обьекта нету такого метода, по той-же причине attr() не сработает с обычным обьектом.
Вот маленькая иллюстрация :
var jqueryA = $('#a');
var jsA = document.querySelector('#a');
console.log(jqueryA.attr('data-test'));
try {
console.log(jqueryA.getAttribute('data-test'));
} catch (e) {
console.log(e.message);
}
//
console.log(jsA.getAttribute('data-test'));
try {
console.log(jsA.attr('data-test'));
} catch (e) {
console.log(e.message);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div data-test="123" id="a"></div>
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники