Изменить alt и заголовок элемента <i>, используя имя класса?

У меня есть <i> элемент с классом, и я хотел бы изменить его тэги alt и title.

Мой HTML

<a class="myspace-hover " target="_blank" href="#">
<i class="mk-jupiter-icon-myspace" alt="myspace" title="myspace"></i>
</a>

И вот что я попробовал:

window.onload = function(){
    document.getElementsByClassName("mk-jupiter-icon-myspace")[0] = "test" ;
    document.getElementsByClassName("mk-jupiter-icon-myspace")[1] = "alttest" ;
}

Так же как:

window.onload = function(){
    document.getElementsByClassName("mk-jupiter-icon-myspace").title = "test" ;
    document.getElementsByClassName("mk-jupiter-icon-myspace").alt = "alttest" ;
}

Но, очевидно, я неправильно понял документацию и то, что я читал.

Любые указатели в правильном направлении будут оценены.

1 ответ

Решение

getElementsByClassName возвращает массив в виде массива.

Каждый член коллекции HTML - это элемент со своим набором свойств.

Вам нужно получить элемент по индексу, а затем установить интересующее вас свойство:

document.getElementsByClassName("mk-jupiter-icon-myspace")[0].title = "test" ;

Обратите внимание, что alt является атрибутом, обеспечивающим замену текста для изображения. Кусок курсивного текста (что к чему <i> означает) не является изображением и не может иметь атрибут alt. Используйте валидатор.

Между тем ваш title Похоже, это было бы лучше подходит для <a> элемент.

Другие вопросы по тегам