2015-03-20 5 views
-2

это мои оригинальные HTML коды:Javascript апостроф/двойные кавычки

<div> 
    <img src="image/sample.jpg" onmouseover="showTitle('title')"> 
</div> 

Но мне нужно, чтобы быть преобразованы в JavaScript, для условия, если {{IMAGE (z1)}} существуют, то переменная х , будет выписан как html.

<script> 
    if ("{{IMAGE(z1)}}" != "") { var x = "<img src="image/sample.jpg" onmouseover='showTitle('title')'></div>"; 
    document.write(x); } 
</script> 

Изображение показывает; однако он не будет читать/выполнять связанные функции javascript.

HTML:

onmouseover="showTitle('title')" 

Javascript переменной двойной кавычки (не удалось):

var x = "onmouseover="showTitle('title')"" 

Javascript переменной апостроф (не удалось):

var x = "onmouseover='showTitle('title')'" 

Вы знаете обходной путь этого ? Заранее спасибо!!

+2

Почему бы не избежать всей проблемы, добавив обработчик извне вместо встроенного? – Mathletics

+1

И не используйте 'document.write()' – Mathletics

+0

Побег всех двойных и одинарных кавычек внутри вашего js var с обратной косой чертой \ –

ответ

1
var x = "<img src=\"image/sample.jpg\" onmouseover=\"showTitle('title')\"></div>"; 
+0

Позвольте мне попробовать, спасибо –

+0

Мне пришлось его отредактировать ... вы можете попробовать новую версию. –

+0

, поэтому всякий раз, когда html имеет двойную цитату, «я могу ее заменить» внутри моей переменной, правильно? –

0

Основная ошибка: изменение,

var x = "<img src="image/sample.jpg" onmouseover='showTitle('title')'></div>"; 

Для

var x = "<img src=\"image/sample.jpg\" onmouseover=\"showTitle('title')\"></div>"; 

Кстати, ваш метод на самом деле плохо.

Интересно, будет ли это работать if ... Я не знаю много js, но я бы сказал, оставьте этот метод.

Во-вторых, используйте jquery, если возможно.

U может просто сделать

$("#i").mouseover(function(){ 
showTitle('title'); }); 

Где i это идентификатор изображения

1

Примечание вам не хватает стартового <div>, и вы должны обеспечить, чтобы экранировать кавычки. Попробуйте использовать одинарные кавычки внутри двойных кавычек и тиски-Versa, только бежать, когда вы должны:

var x = "<div><img src='image/sample.jpg' onmouseover='showTitle(\"title\")'></div>"; 

Если вы хотите разместить двойные кавычки внутри двойных кавычек, вам нужно, чтобы избежать внутри с \" то же самое относится и к одиночные кавычки \':

" \" " -- Double Quotes Escape 
' \' ' -- Single Quotes Escape 

Также обратите внимание, если вы не используете библиотеку, которая интерпретирует {{ .. }}, это условие "{{IMAGE(z1)}}" != "" всегда будет истинным.

+0

Благодарим вас за подробное объяснение. изучая некоторые термины, которых я не знал. Еще раз, спасибо –

Смежные вопросы