Рассмотрим четыре метода:
- getAttribute('X') - возвращает значение атрибута с названием 'X'
- setAttribute('X', 'Y') - устанавливает значение атрибута с названием 'X' в значение 'Y'
- removeAttribute('X') - удаляет атрибут 'X'
- hasAttribute('X') - проверяет наличие атрибута 'X'
<div onclick="MyFunc(this);" mouse="Мыши любят сыр!">Кликни на меня!</div>
<script>
function MyFunc(a){
alert(a.getAttribute('mouse'));
}
</script>
Если загрузить страницу браузера с таким примером и кликнуть на "Кликни на меня!", то появится всплывающее окно:

В примере использован атрибут, название которого придумано самостоятельно. Но для таких случаев лучше создавать атрибуты с префиксом data-. К примеру, data-mouse.
Используем остальные методы. Попробуем установить значение атрибута "mouse" в "Сыр!" с помощью setAttribute. Для этого напишем следующий код:
<div onclick="MyFunc(this);" mouse="Мыши любят сыр!">Кликни на меня!</div>
<script>
function MyFunc(a){
a.setAttribute('mouse', 'Сыр!');
alert(a.getAttribute('mouse'));
}
</script>
В этом примере мы сначала установили значение атрибута "mouse" в "Сыр!", а затем прочитали его. В итоге получилось всплывающее окно с текстом "Сыр!":

<div onclick="MyFunc(this);" mouse="Мыши любят сыр!">Кликни на меня!</div>
<script>
function MyFunc(a){
a.removeAttribute('mouse');
alert(a.getAttribute('mouse'));
}
</script>
Очевидно, что если атрибут будет удалён, то функция getAttribute не сможет ничего вернуть (точнее вернёт отсутствие значение - "null"):

<div onclick="MyFunc(this);" mouse="Мышь">Кликни на меня!</div>
<script>
function MyFunc(a){
if(a.hasAttribute('cat')){
alert('Атрибут "cat" существует!');
}
if(a.hasAttribute('mouse')){
alert('Атрибут "mouse" существует!');
}
}
</script>
При выполнении такого кода мы увидим всплывающее окно с текстом "Атрибут mouse существует!":
