getAttribute
, setAttribute
и removeAttribute
являются технически вызванными методами, и они воздействуют на узел DOM, манипулируя атрибутами. Сам DOM-узел - это то, что вы назначили своей переменной penguin (но ее следует назначить перед использованием).
Один из распространенных вариантов использования связан с хранением битов данных на узле. Вы можете установить эту информацию и получить ее позже.
Скажем, у вас есть пара пингвинов.
<div id='penguin-crowd'>
<div class='penguin' data-species='emperor'></div>
<div class='penguin' data-species='king'></div>
</div>
Теперь вы хотите перечислить их виды.
let penguins = document.getElementsByClassName('penguin');
for (let i = 0; i < penguins.length; i++) {
let species = penguin[i].getAttribute('data-species');
console.log(`This penguin's species is ${species}`);
}
Результат:
// This penguin's species is emperor
// This penguin's species is king
Добавить еще одного пингвина в толпу.
let penguinCrowd = document.getElementById('penguin-crowd');
let newPenguin = document.createElement('div');
newPenguin.classList.add('penguin');
newPenguin.setAttribute('data-species','emperor');
penguinCrowd.appendChild(newPenguin);
Теперь у вас есть
<div id='penguin-crowd'>
<div class='penguin' data-species='emperor'></div>
<div class='penguin' data-species='king'></div>
<div class='penguin' data-species='emperor'></div>
</div>
removeAttribute
, который удаляет весь атрибут из узла, поэтомуесли по какой-то причине это должно произойти, это ваш метод перехода.