2017-02-08 6 views
-3

テーブルの最後の行(ここではタイトル)の後ろに行を付けます。何とか、割り当てられたhtmlコードはfalseを返します。htmlコードがfalseを返す

<table id="test"> 
    <tr> 
    <td>Title</td> 
    </tr> 
</table> 
var text = ''; 
var length = 3; 
var data = 'hello'; 

for (i=0; i< length; i++) { 
    text += '<tr>' + 
      '<td>' + data + ' ' + i '</td>' + 
      '</tr>; 
} 
alert('text: ' + text); 
$('#test tr:last').after(text); 

不思議なことに、警告メッセージが 'falsefalsefalse' を返します。これには何が問題なのですか?

+5

コードにはいくつかの構文エラーがあります。私はあなたがコンソールを確認し、最初にそれらを修正することをお勧めします。一度コードを実行すれば、コードは正常に動作します。デバッグには 'alert()'を使わないでください。 (var i = 0; i

+0

の代わりに 'console.log'を使用してください –

+1

なぜdownvotesですか?コード例は明確で、OPに構文エラーがあります – elementzero23

答えて

1

あなたはソームの引用符と+記号を見逃しました。ここで

を修正いずれかです。

var text = ''; 
var length = 3; 
var data = 'hello'; 

for (i=0; i< length; i++) { 
    text += '<tr>' + 
      '<td>' + data + ' ' + i + '</td>' + 
      '</tr>'; 
} 
alert('text: ' + text); 
$('#test tr:last').after(text); 
+0

グローバルスコープで変数として 'length'を使用することはできず、' i'を宣言する必要があります。 – Xufox

0
<table id="test"> 
    <tr> 
    <td>Title</td> 
    </tr> 
</table> 

<script> 
    var text = ''; 
    var length = 3; 
    var data = 'hello'; 
    for (i=0; i < length; i++) { 
     text += '<tr>' + 
       '<td>' + data + ' ' + i + '</td>' + 
       '</tr>'; 
    } 
    console.log('text: ' + text); // better for debugging 
    $('#test tr:last').after(text); 
</script> 

は、それがここで実行されている参照してください:https://jsfiddle.net/ddan/gtdfy84h/

注:あなたHTMLコードはfalseを返すされていません。その声明は多くのレベルで間違っています。 HTMLはマークアップ言語です。予期しないものを実行して返すコードはjavascriptコードです。

注2:構文を書くときには構文が非常に重要であり、構文的に間違ったコードは決してうまく動作するとは考えられません。

関連する問題