На данный вопрос уже ответили:
Имеется конструкция вида:
<div id='lawdocument'>
<div blockOrder = '1'></div>
<div blockOrder = '2'></div>
</div>
Мне необходимо получить элемент div, который удовлетворяет требованиям [blockOrder = '2']. Я написал следующее выражение и оно работает нормально:
takerDIV = lawDocument.querySelector('div[blockOrder = "2"]');
Но если я хочу вместо значения "2" подставить переменную blockValue=2 то получить элемент никак не удается:
takerDIV = lawDocument.querySelector('div[blockOrder = blockValue]');
console.log(takerDIV); // null
takerDIV = lawDocument.querySelector('div[blockOrder = "blockValue"]');
console.log(takerDIV); // null
takerDIV = lawDocument.querySelector('div[blockOrder = (blockValue)]');
console.log(takerDIV); // Uncaught DOMException: Failed to execute 'querySelector' on 'Element': 'div[blockOrder = (blockValue)]' is not a valid selector.
Помогите пожалуйста.
Потому что Вы неправильно подставляете переменную в строку - её надо конкатенировать:
const blockValue = 2;
const takerDIV = document.querySelector('div[blockOrder="'+blockValue+'"]');
console.log(takerDIV)
<div id='lawdocument'>
<div blockOrder='1'></div>
<div blockOrder='2'></div>
</div>
В коде переменная неправильно вставлена в выражение, есть два варианта, как исправить эту ошибку 1.
const blockValue = 2;
const takerDIV = document.querySelector('div[blockOrder="'+blockValue+'"]');
takerDiv = lawDocument.querySelector('div[blockOrder=${blockValue}]');
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости