SlavaMaxwell
@SlavaMaxwell
Frontend разработчик

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

Как сделать проверку на наличие атрибута с конкретным значением?
let name1 = document.querySelectorAll('.js-filter-wrap a')
    
    name1.forEach((item) => {
        if (item.hasAttribute('data-filter', 'box1')) {
            console.log(item);
        }
    })

при том элементов имеющие атрибут data-filter много, но у них всех разное значение, как поймать конкретный и выполнить с ним код
  • Вопрос задан
  • 659 просмотров
Решения вопроса 3
0xD34F
@0xD34F Куратор тега JavaScript
const element = document.querySelector(`.js-filter-wrap a[data-filter="${конкретноеЗначение}"]`);
if (element) {
  ...

Или, если уже есть коллекция элементов, в которой надо найти подходящий:

const element = [...elements].find(n => n.dataset.filter === конкретноеЗначение);
if (element) {
  ...
Ответ написан
MrDecoy
@MrDecoy Куратор тега JavaScript
Верставший фронтендер
ну вариантов несколько.
Первый - искать сразу элементы с нужным значением
let name1 = document.querySelectorAll('.js-filter-wrap a[data-filter="box1"]')

Второй - проверять в цикле item.dataset && item.dataset.filter === 'box1'
Ответ написан
Комментировать
if (item.getAttribute('data-filter') === 'box1') {
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы