Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.04.2021, 08:11
Профессор
Отправить личное сообщение для Ubivectel Посмотреть профиль Найти все сообщения от Ubivectel
 
Регистрация: 01.12.2020
Сообщений: 166

Обработка двух ID
Привет Мир!

Имеются два объекта, которые нужно скрывать при клике на третий, обращаюсь к ним по ID по классу не прокатывает. Конструкция получилась вот такая:

document.getElementById('KIDE_usuario').style.display = "none"; 
document.getElementById('KIDE_mensaje').style.display = "none";


Собственно все нормально и все работает, но во мне бунтует перфекционист, прописывать два раза одно и то же как-то дико, можно ли как-то упростить конструкцию? А если элементов не два, а пять например?
Ответить с цитированием
  #2 (permalink)  
Старый 18.04.2021, 08:23
Профессор
Отправить личное сообщение для Ubivectel Посмотреть профиль Найти все сообщения от Ubivectel
 
Регистрация: 01.12.2020
Сообщений: 166

Кстати оба элемента имеют класс: "KIDE_mostrar", но такой код, не срабатывает

document.querySelector('.KIDE_mostrar').style.display = "none";


Почему так?
Ответить с цитированием
  #3 (permalink)  
Старый 18.04.2021, 08:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Сообщение от Ubivectel
Почему так?
потому что нужен цикл по необходимым элементам
document.querySelectorAll('.KIDE_mostrar').forEach(elem => elem.style.display = "none");

Последний раз редактировалось рони, 18.04.2021 в 08:54.
Ответить с цитированием
  #4 (permalink)  
Старый 18.04.2021, 09:14
Профессор
Отправить личное сообщение для Ubivectel Посмотреть профиль Найти все сообщения от Ubivectel
 
Регистрация: 01.12.2020
Сообщений: 166

Мое почтение профессор!
Так вот куда используются циклы ))) Пошел оптимизировать, а то уже куча таких нагромождений нелепых )
Ответить с цитированием
  #5 (permalink)  
Старый 18.04.2021, 13:42
Профессор
Отправить личное сообщение для Ubivectel Посмотреть профиль Найти все сообщения от Ubivectel
 
Регистрация: 01.12.2020
Сообщений: 166

Что бы не создавать новую тему, рони, вот твое произведение (хотя вряд ли помнишь):

nodo.innerHTML =
            s_hora +
            tmp +
            '<span style="cursor: pointer" class="KIDE_' +
            this.rangos[rango] +
            '" onclick="kide.insertSmile(\'' +
            name +
            ", ')\" oncontextmenu=\"event.preventDefault();kide.mensaje('" +
            name +
            "', " +
            uid +
            ", " +
            id +
            ", '" +
            url +
            "', '" +
            ti +
            "', '" +
            sesion +
            "', " +
            rango +
            ", '" +
            img +
            "')\">" +
            name +
            "</span>: <span " +
            c +
            ">" +
            this.filter_smilies(text) +
            "</span>";


Можно ли к "oncontextmenu" добавить еще одно событие, нужно что бы к элементу с классом "overlayo" добавлялся стиль display: block;
Ответить с цитированием
  #6 (permalink)  
Старый 18.04.2021, 14:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Ubivectel,
nodo.innerHTML =
            s_hora +
            tmp +
            '<span style="cursor: pointer" class="KIDE_' +
            this.rangos[rango] +
            '" onclick="kide.insertSmile(\'' +
            name +
            ", ')\" oncontextmenu=\"event.preventDefault();document.querySelector(\'.overlayo\').style.display = \'block\';kide.mensaje('" +
            name +
            "', " +
            uid +
            ", " +
            id +
            ", '" +
            url +
            "', '" +
            ti +
            "', '" +
            sesion +
            "', " +
            rango +
            ", '" +
            img +
            "')\">" +
            name +
            "</span>: <span " +
            c +
            ">" +
            this.filter_smilies(text) +
            "</span>";
Ответить с цитированием
  #7 (permalink)  
Старый 18.04.2021, 15:03
Профессор
Отправить личное сообщение для Ubivectel Посмотреть профиль Найти все сообщения от Ubivectel
 
Регистрация: 01.12.2020
Сообщений: 166

Почти правильно делал, но как обычно заплутал в синтаксисе, спасибо рони, все ок!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка нажатия двух клавиш одновременно. Temcher Events/DOM/Window 16 04.08.2019 01:10
onbeforeunload - Обработка двух ситуаций coll3ctor Events/DOM/Window 2 18.06.2013 20:01
Некорректная обработка двух форм на странице bnr17 Events/DOM/Window 6 11.02.2013 03:50
Обработка нажатия двух клавиш 12345678 Events/DOM/Window 1 15.01.2013 15:41
обработка одновременно двух клавиш клавиатуры Destrifer Events/DOM/Window 8 20.12.2008 15:25