jquery получает компонент со значением, заключенным в двойные кавычки

#jquery

#jquery

Вопрос:

Итак, следующий код вызывает

 value = '"hello!"'
$(`button[value="${value}"]`)
 

Error: Syntax error, unrecognized expression: button[value=""hello!""]

Я понимаю, что это вызвано значением, имеющим двойные кавычки. Однако значение задается динамически, и мы принимаем значение в двойных кавычках, одинарных кавычках…
Есть ли способ решить эту проблему, используя, возможно, другой синтаксис?

Комментарии:

1. w3schools.com/jsref/jsref_escape.asp

Ответ №1:

Вам нужно экранировать кавычки, чтобы они стали " вместо "

 value = '"hello!"'
// Escaping double quotes
value = value.replace(/"/g, '"');
// Escaping single quotes
value = value.replace(/'/g, "'");
$(`button[value="${value}"]`)