Create a variable in jquery with html content

15,589

Solution 1

Syntax error due to wrongly assigned string.

concatenate the lines

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

Solution 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>";

Solution 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";

Solution 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>
Share:
15,589
luv2code
Author by

luv2code

I am a person who loves to experience new and interesting things. I own a small Web Development company, where we cover anything and everything that is created and moved online. GR Freedom has now gone International with clients in Canada, USA, Brazil, Chile, Guatamala and Argentina. Specialties: Web Design, Web Development, Branding and Identity, SEO, SEM, CMS, Social Marketing, Web Hosting, Web Programming

Updated on June 14, 2022

Comments

  • luv2code
    luv2code almost 2 years

    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!