Create a variable in jquery with html content

白昼怎懂夜的黑 提交于 2021-02-06 11:52:30

问题


Hi I am trying to create a variable in jquery that contains a table for outputting in different areas of a website. But it is giving me an error, and I do not understand why. Here is my 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>";
    });

How could I place this in a variable so that I can output in various divs as so:

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

Thank you in advance for anyones help!


回答1:


Syntax error due to wrongly assigned string.

concatenate the lines

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



回答2:


You could concatenate strings like it was suggested. Or another way is to escape new line characters with back slash:

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



回答3:


You haven't handled the line returns in your string. Because of this, javascript assumes that the end of each line is the end of a statement. Clearly each line is not a valid statement. Concatenate your string like so:

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



回答4:


When I have complex html this is what I do. I put the html in an enclosing DIV and get the html content

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>



回答5:


Or you can use this tool http://www.accessify.com/tools-and-wizards/developer-tools/html-javascript-convertor/

It works fine :)



来源:https://stackoverflow.com/questions/12333002/create-a-variable-in-jquery-with-html-content

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!