JavaScript — как изменить свойство другого элемента

Admin JavaScript

Пример на JavaScript. Ищем определенное свойство в элементе. Если такое свойство существует, то вешаем другое свойство на другой элемент.

Та же самая задача проще делается с помощью jQuery. Однако бывает необходимость править код написанный на чистом JavaScript. Для этих случае важно знать и JS.

Задача следующая. Имеем элемент, при наведении курсора на который, всплывает подсказка. Так называемый tooltip. На разных страницах они могут быть оформлены по-своему. Если в нём будет находиться специальное свойство, надо вывести эту подсказку с изменённым стилем. В этом новом свойстве будем добавлять иконку.

Как обратиться к элементу через if

Имеем следующую HTML структуру:

<span class="get-new-style" data-tooltip="Содержимое всплывающей подсказки"></span>

В js файле обращаемся к этому элементу. Проверяем, если он существует, т.е. отличный от null, значит что-то делаем.

if (document.querySelector('.get-new-style') !== null) {
...
}

Допустим у нас есть функция выводящая эту подсказку. В неё необходимо встроить проверку на определенный класс и добавить новый:

(function() {

    var elem = document.createElement('div');
   
    if (document.querySelector('.get-new-style') !== null) {
   
        elem.className += " new-style";
   
    }

});

Подробно разбираем пример

В примере выше есть переменная с названием elem. Она создаёт элемент div (а может делать и что-то другое). Нам нужно именно к этому элементу прикрепить новые свойства.

Допустим у этого элемента есть свойство main:

<div class="main">
</div>

Тогда наша функция, в этот элемент вставит новый класс (при наличии на странице свойства get-new-style). Получится:

<div class="main new-style">
</div>

Для самого класса new-style мы напишем в файле style.css нужные нам свойства, например вставим иконку от текста слева:

.new-style {
    background: url('../img/icons/icon.jpg');
    background-repeat: no-repeat;
    background-position: 5px 10px;
    padding: 10px 10px 10px 35px;
    background-color: white;
}

У сайта нет цели самоокупаться, поэтому на сайте нет рекламы. Но если вам пригодилась информация, можете лайкнуть страницу, оставить комментарий или отправить мне подарок на чашечку кофе.

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи:
"JavaScript — как изменить свойство другого элемента"