вставка переменной в querySelectorAll () не работает - PullRequest
0 голосов
/ 08 сентября 2018

Я сделал цикл for для выполнения некоторого кода для нескольких элементов в массиве. В этом цикле for есть querySelectorAll (), но так как querySelectorAll () должен работать с разными элементами в каждом цикле, я попытался вставить в него переменную, но это выдает ошибку. Когда я помещаю точный вывод этой переменной прямо в querySelectorAll (), он работает. Кто-нибудь знает как это исправить?

(1) Это код, когда он работает, но, как я уже сказал, реальное className нужно изменить. Вот почему я хочу вставить переменную.

var tipSelectors0 = document.querySelectorAll(".tipContainer0 .pageContent-exercise-help-model-tip-select-container-li");

(2) Это код, который не работает. Но, как вы можете видеть в комментарии и в консоли. Вывод переменной точно такой же, как и в коде (1).

    Line637 var tipContainerClassName = "tipContainer" + j; //j = 0
    Line638 var newClassName ='".' + tipContainerClassName + ' .pageContent-exercise-help-model-tip-select-container-li"';
    Line639 console.log(newClassName); //Outputs:   ".tipContainer0 .pageContent-exercise-help-model-tip-select-container-li"
    Line640 var tipSelectors0 = document.querySelectorAll(newClassName);

(3) Это ошибка, которую я получаю в консоли, используя код (2)

".tipContainer0 .pageContent-exercise-help-model-tip-select-container-li" Leerstof.html:639
Uncaught DOMException: Failed to execute 'querySelectorAll' on 'Document': '".tipContainer0 .pageContent-exercise-help-model-tip-select-container-li"' is not a valid selector. Leerstof.html:640

Спасибо!

1 Ответ

0 голосов
/ 08 сентября 2018

Нет необходимости использовать кавычки в самом селекторе.Вам просто нужно удалить двойные кавычки:

'.' + tipContainerClassName + ' .pageContent-exercise-help-model-tip-select-container-li'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...