Создайте переменную в jquery с содержимым html

Привет я пытаюсь создать переменную в jquery, которая содержит таблицу для вывода в разных областях веб-сайта. Но это дает мне ошибку, и я не понимаю, почему. Вот мой JQUERY:

var copy = "<table width='750' border='0' cellspacing='0' cellpadding='0'>
  <tr>
    <td>Tarifa valida desde:</td>
    <td>Tarifa valida hasta:</td>
    <td>Tarifa MXN</td>
    <td>Tarifa USD</td>
  </tr>
  <tr>
    <td><input type='text' name='from1' id='from1' class='date' /></td>
    <td><input type='text' name='to1' id='to1' class='date' /></td>
    <td><input type='text' name='mxn1' /></td>
    <td><input type='text' name='usd1' /></td>
  </tr>
  <tr>
    <td>Extra Pax MXN:</td>
    <td>Extra Pax USD:</td>
  </tr>
  <tr>
    <td><input type='text' name='exmxn1' /></td>
    <td><input type='text' name='exusd1' /></td>
  </tr>
</table>";
    });

Как я могу поместить это в переменную, чтобы я мог выводить в различных divs так:

$(".divExample").html(copy);

заранее спасибо за любую помощь!

5 ответов


синтаксическая ошибка из-за неправильно назначенной строки.

конкатенировать строки

var copy = "<table width='750' border='0' cellspacing='0' cellpadding='0'>" 
            + "<tr>";
  ....

вы не обработали возврат строки в вашей строке. Из-за этого javascript предполагает, что конец каждой строки является концом оператора. Ясно, что каждая строка не является действительным утверждением. Объедините свою строку следующим образом:

var "multi-"+
    "line "+
    "string";

вы можете объединить строки, как было предложено. Или другой способ-избежать новых символов строки с обратной косой чертой:

var html = "<table> \
    <tr>....</tr> \
    </table>";

когда у меня сложный HTML это то, что я делаю. Я поместил html в заключительный DIV и получить содержимое html

var copy = $('#mycomplexhtml').html(); //gets the content I placed in an hidden div


<!-- I normally place this at the bottom-most part of the page -->
<div id="mycomplexhtml" style="display:none">
  <table width='750' border='0' cellspacing='0' cellpadding='0'>
  <tr>
    <td>Tarifa valida desde:</td>
    <td>Tarifa valida hasta:</td>
    <td>Tarifa MXN</td>
    <td>Tarifa USD</td>
  </tr>
 ...
  </table>
</div>

или вы можете использовать этот инструмент http://www.accessify.com/tools-and-wizards/developer-tools/html-javascript-convertor/

Он отлично работает :)