Отличия между attr() и getAttribute()

246
17 октября 2017, 04:52

Использую скрипт, который в теле колбека при вызове this возвращает DOM:

Почему я могу получить значение атрибута id div-блока при помощи getAttribute() и не могу при помощи attr()? Эти две функции делают не одно и то же?

Answer 1

Отличия между 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>

READ ALSO
переопределить функцию CSSStyleSheet.prototype.rules

переопределить функцию CSSStyleSheet.prototype.rules

Здравствуйте, Стандартную функцию переопределить обычно получаетсяВот пример:

366
{} + [] + {} = [object Object][object Object]?

{} + [] + {} = [object Object][object Object]?

Пытаюсь разобраться в некоторых тонкостях js{} + [] = 0 , потому что {} будет восприниматься как пустой блок кода, а + [] приведется к числу, т

230
Как поменять местами символы на Javascript?

Как поменять местами символы на Javascript?

Есть строка с цифрами надо поменять цифры местами на пример строка: 3245 на выходе должно получиться : 2354; Кто подскажет, как это можно реализовать...

371
Как поменять background-color элемента select при клике на option?

Как поменять background-color элемента select при клике на option?

Хочу изменить цвет элементаЕсть элемент список но в качестве значений этого элемента я использую цвет background-color

330