Как я могу разместить строку с одинарными и двойными кавычками внутри нее в Javascript - PullRequest
10 голосов
/ 08 июля 2011

У меня есть приложение, и оно подается немного HTML. Затем необходимо поместить этот HTML-код в строку. Этот HTML содержит одинарные и двойные кавычки. Возможно ли в javascript объявить строку с информацией внутри нее, которая не использует одинарные или двойные кавычки?

Спасибо, и я думаю, если это невозможно, кто-нибудь знает простой и легкий способ избежать этих кавычек, чтобы я мог поместить его в строку? Имейте в виду, часть этой строки будет javascript, который мне позже потребуется выполнить.

Спасибо!

Ответы [ 4 ]

9 голосов
/ 08 июля 2011

Вам нужно экранировать символы кавычек с помощью \:

var someString = 'escape all the quotation marks \"\'';
4 голосов
/ 08 июля 2011

Возможно ли в javascript объявить строку с информацией внутри нее, которая не использует одинарные или двойные кавычки?

Нет. Строковые литералы JavaScript ограничиваются одинарными или двойными кавычками. Это единственный выбор.

Кто-нибудь знает простой и легкий способ избежать этих кавычек, чтобы я мог поместить его в строку?

Вы имеете в виду в строковом литерале?

var str = "var foo=\"bar\"; function say(it) { alert('It is: ' + it); say(foo);";

Или программно?

str = str.replace(/"/g, '\\"');
1 голос
/ 08 июля 2011

Простой способ избежать кавычек - использовать функцию перехода javascript.

http://www.w3schools.com/jsref/jsref_escape.asp

0 голосов
/ 08 июля 2011

Используйте функцию escape для замены специальных символов (включая одинарные и двойные кавычки).Затем вы можете использовать функцию unescape, чтобы при необходимости вернуть строку в ее нормальное состояние.

Например:

var data = 'hello my name is "James"';
alert(escape(data)); //Outputs: hello%20my%20name%20is%20%22James%22
...