Как исключить выбор из коллекции нужную группу чтобы у нее не нажималась кнопка?
Имееться HTML код:
<button class="flat_button button_small button_wide">1</button>
<button class="flat_button button_small button_wide secondary">2</button>
<button class="flat_button button_small button_wide">3</button>
Выполняю такой код в консоли на javascript:
javascript:var buttons=document.getElementsByClassName('flat_button button_small button_wide'); console.log(buttons); for(key in buttons){buttons[key].click();}
Нажимаються все три кнопки, а мне нужно исключить кнопку у которой есть класс "secondary" Как мне написать js код чтобы исключить нажатие 2 кнопки?
Пробовал так но всё равно нажимаются все три кнопки:
javascript:var buttons=document.getElementsByClassName('flat_button button_small button_wide'); console.log(buttons); for(key in buttons){if (buttons !='lat_button button_small button_wide secondary') {buttons[key].click();}}
Спасибо!
Ответы (1 шт):
Автор решения: Ningaro
→ Ссылка
Рекомендую вам ознакомиться со структурой DOM Element.
Решение
const searchElems = ".flat_button, .button_small, .button_wide"
const classNameStyle = searchElems.replaceAll(/\.|,/g, '')
const buttons = Array.from(document.querySelectorAll(searchElems))
const correctButtons = buttons.filter(e => e.className === classNameStyle)
correctButtons.map(e => e.click())
<button class="flat_button button_small button_wide" onclick="console.log('1')">1</button>
<button class="flat_button button_small button_wide secondary" onclick="console.log('2')">2</button>
<button class="flat_button button_small button_wide" onclick="console.log('3')">3</button>