img onclick не работают, когда в кавычках

0

У меня такой код, как этот

 var cross=  '<img src="./img/cross.png"height="25px" width="25px" style="float: right; 
                              vertical-align: top"' + 'onclick="alert('+1+');">';

Img показывает правильно, но предупреждение не работает. Кроме того, я задаюсь вопросом, есть ли некоторые советы при написании кода со многими кавычками или есть какой-то другой способ реализации.

  • 4
    в идеале вы должны избегать использования встроенных обработчиков, как у вас здесь, тогда вам не нужно беспокоиться о том, чтобы получить кавычки прямо в качестве дополнительного преимущества
  • 0
    Почему вы не использовали этот код? что делают эти дополнительные кавычки? var cross= '<img src="./img/cross.png"height="25px" width="25px" style="float: right; vertical-align: top" onclick="alert(1);">';
Теги:

2 ответа

0
Лучший ответ

попробуйте этот код

var temp = "+1+";
var cross= "<img src='./img/cross.png' height='25px' width='25px' style='float: right; vertical-align: top' onclick='alert(temp)'">;
0

Чувак, в этом так много ошибок, я не знаю с чего начать.

<img src="./img/cross.png"height="25px" width="25px" style="float: right; 
                      vertical-align: top"' + 'onclick="alert('+1+');">';
  1. Атрибуты должны иметь пробелы между ними. Не уверен, что это часть строгой спецификации HTML, но, несомненно, помогает читать. <img src="..." height="...">
  2. Ширина и высота <img> являются целыми атрибутами, а не CSS. Таким образом, <img width="25" height="25">
  3. Пути, начинающиеся с точки, не нужны, поскольку предполагается, что относительные пути идут из текущего каталога. Просто src="img/cross.png" - это то, что вы хотите.
  4. Почему вы объединяете две строковые строки? Иногда имеет смысл удерживать длину линии от того, чтобы выходить из-под контроля, но в вашем случае она делает сложную цитату и ускользает еще сложнее.
  5. Часть onclick - это одиночная кавычка с двойными кавычками внутри, что хорошо, но тогда строка заканчивается первой одинарной кавычкой. Таким образом, вы получаете onclick="alert( затем +1 который получает в строку для onclick="alert(1 тогда добавляется финальная строка (close paren, semicolon, double quote, right angle bracket). быть синтаксически действующим JavaScript.

Короче говоря, избегайте одиночных кавычек в вашем alert с помощью обратных косых черт.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню