Передача двойных кавычек в Jscript - PullRequest
0 голосов
/ 23 февраля 2011

insertText - это java-скрипт, который принимает два строковых параметра

Мне нужно передать две строки

первый параметр:

<img src="

второй

 ">

Я просто не могу понять, как передать двойную кавычку в качестве параметра

Это работает

<a onClick="insertText('<em>', '</em>'); return false;">Italic</a>

Это не

<a onClick="insertText('<img src=/"', '/">'); return false;">Image</a>

Отпечатки '); return false;">Image

Ответы [ 4 ]

3 голосов
/ 23 февраля 2011

Вы хотите использовать \ вместо /

2 голосов
/ 23 февраля 2011

Золотое правило для этого заключается в обращении кавычки, что означает, что я использую одинарную кавычку «внутри двойной кавычки» и наоборот.

Кроме того, вы должны использовать символ обратной косой черты, чтобы выделить специальный символ, такой как 'и ".

Например, следующие команды должны работать, поскольку они применяют правила, упомянутые выше ...

<a onClick="insertText('<em>', '</em>'); return false;">Italic</a>

или

<a onClick='insertText("<em>", "</em>"); return false;'>Italic</a>

или

<a onClick="insertText('<img src=\"', '\">'); return false;">Image</a>

или

<a onClick='insertText("<img src=\'", "\'>"); return false;'>Image</a>

Надеюсь, это поможет вам ...

2 голосов
/ 23 февраля 2011

Экранирующим символом для JavaScript является \, а не /. Итак, попробуйте это:

<a onClick="insertText('<img src=\"', '\">'); return false;">Image</a>

Обновление:

Решение выше не работает, потому что двойные кавычки «принадлежат» HTML, а не JavaScript, поэтому мы не можем избежать их в коде JavaScript.

Используйте это вместо:

<a onClick="insertText('<img src=\'', '\'>'); return false;">Image</a> // --> <img src='...'>

или

<a onClick='insertText("<img src=\"", "\">"); return false;'>Image</a> // --> <img src="...">

Поскольку вы используете jQuery, почему бы вам не сделать это способом jQuery?

insertText = function(a, b) {
    // your insertText implementation...
};

$('a').click(function() {  // use the right selector, $('a') selects all anchor tags
    insertText('<img src="', '">');
});

С этим решением вы можете избежать проблем с кавычками.

Вот рабочий пример: http://jsfiddle.net/jcDMN/

1 голос
/ 23 февраля 2011

Вам нужно сбежать от него.

<a onClick="insertText('<img src=\"', '\">'); return false;">Image</a>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...