2012-09-08 4 views
5

こんにちは、ウェブサイトのさまざまな領域に出力するためのテーブルを含む変数をjqueryに作成しようとしています。しかし、それは私にエラーを与えている、と私はなぜ理解していない。ここに私のjQueryのです:htmlコンテンツを持つ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>"; 
    }); 

私は変数でこれを置くことができるどのように私はそうなど、さまざまなdiv要素に出力ができるように:

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

はanyonesの助けを事前にありがとうございます!

+3

はどのようなエラー?....以下 – ComFreek

+2

の答えが正しいHTMLコンテンツを取得します。あなたのJSの中でより少ないHTMLを使用するもの。 –

+0

タイトルは "複数の行で変数を作成"する必要があります –

答えて

3

誤って割り当てられた文字列による構文エラーです。

は、それが示唆されたようにあなたは文字列を連結することができライン

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

それはちょうど改行だったことをありがとうございました... – liveandream

+0

あなたは大歓迎です... – Adil

3

あなたの文字列に改行を処理していません。このため、JavaScriptでは、各行の終わりがステートメントの終わりであるとみなされます。明らかに、各行は有効なステートメントではありません。次のように文字列を連結してください。

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

を連結します。それとも別の方法は、バックスラッシュで改行文字をエスケープすることです:

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

私は複雑な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> 
+0

これは非常に賢いです。私は基本的に 'var html_str =

My HTML

'を作成し、それを行ごとに 'html_str + =

として追加するhtml文字列アプローチを使用しています。これは私のH1の下に表示されます!

'しかし、これは書き出すために**長い時間がかかってしまい、後で読むのが簡単ではありません(HTMLの書式を模倣するためにインデントしていますが).. ugh ...あなたのメソッドをここに移動すると、おそらく、HTMLの一番下に隠れたdivを貼り付けることに悩まされるかもしれませんが、いくつかの点では、JSファイルに束縛された文字列として詰め込まれるよりも良いかもしれません... – natureminded

関連する問題