Как исключить выбор из коллекции нужную группу чтобы у нее не нажималась кнопка?

Имееться 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>

→ Ссылка