Как я могу преобразовать строковое значение объекта jQuery в фактический объект jQuery? - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть эта строка в моем JS коде прямо сейчас:

newWords = '$(p span.word[style="--' + paraIndex + 'word-index:undefined"], p span.whitespace[style="--' + paraIndex + 'word-index:undefined"])';

Я хочу преобразовать эту строку в jQuery объект, который я могу использовать, идентифицируют эти указанные c элементы.

Я также видел функцию eval (). Похоже, что он делает то, что я хочу, но это супер небезопасно / небезопасно.

Кто-нибудь знает безопасный способ сделать это?

1 Ответ

1 голос
/ 09 апреля 2020

Самое простое решение - удалить $( и ) и передать оставшуюся строку в качестве аргумента $():

var paraIndex = 0;
var newWords = '$(p span.word[style="--' + paraIndex
  + 'word-index:undefined"], p span.whitespace[style="--'
  + paraIndex + 'word-index:undefined"])';

var jQ = $(newWords.slice(2, -1));

console.log(jQ);
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...