Если вы имеете в виду вы хотите использовать значение переменной max
в селекторе, использование конкатенации строк (и поставить кавычки вокруг него):
var max = prompt("");
var selector = '#list > listitem > label[value="' + max + '"]';
var node = document.querySelector(selector);
Две разные вещи там происходит:
Мы используем конкатенацию строк, чтобы поставить значение из max
в строку.
Полностью не связанный с этим, мы также помещаем это значение в кавычки в селекторе, чтобы пробелы или некоторые другие символы не взорвали селектор. [value=foo]
- допустимый селектор соответствия атрибутов, но [value=foo bar]
нет. [value="foo bar"]
есть. Хотя значение значения в кавычках не решит все (особенно, если пользователь набирает "
, у вас проблемы), но он, по крайней мере, будет обрабатывать пробелы.
Или, если вы используете ES2015 (ака "ES6"), вы можете использовать шаблон строки:
// ES2015 only!
var max = prompt("");
var selector = `#list > listitem > label[value="${max}"]`;
var node = document.querySelector(selector);
Заметим, однако, что value
является not a valid attribute for label
elements. Поля формы имеют value
, а не ярлыки.
Итак? В чем вопрос ? Вы имеете в виду 'node.maxLength = max' – Rayon
Что означает« установить текущее значение »? Кроме того, ['значение' не является допустимым атрибутом для элементов метки) (https://www.w3.org/TR/html5/forms.html#the-label-element), поэтому селектор не делает много смысла. –
@jhonde: Нет, это неверно, см. Ссылку на приведенную выше спецификацию. Возможно, у вас есть это, но это не то же самое, что оно действительно. –