2016-04-09 6 views
0

と行のinnerHTMLプロパティを交換しようとすると、私は私のHTMLのボディに、次の表を持っている:responseText

<table> 
    <tr id="0"> 
     <td></td> 
     <td></td> 
     <td></td> 
    </tr> 
    <tr id="1"> 
     <td></td> 
     <td></td> 
     <td></td> 
    </tr> 
</table> 

マイhttpRequest.responseText次の値を返します。

<td class="c1">c<td> 
<td class="c1">a<td> 
<td class="c1">t<td> 

私はどこの行を交換したいですid = "1"にhttp.responseTextの結果を入力して、次のようにします。

var curr_row = document.getElementById("1"); 
curr_row.innerHTML = httpRequest.responseText; 

ただし、これは

<table> 
    <tr id="0"> 
     <td></td> 
     <td></td> 
     <td></td> 
    </tr> 
    <tr id="1"> 
     <td class="c1">h</td> 
     <td></td> 
     <td class="c1">e</td> 
     <td></td> 
     <td class="c1">l</td> 
     <td></td> 
    </tr> 
</table> 

上記の値は、元の空のセルと思われるものを、新しいセルと一緒に返します。これはなぜ起こるのですか? httpRequest.responseTextセルを元のセルに完全に置き換えます。

+2

数字で始まるDOM IDは使用しないでください。btwは無効です。 – moopet

+2

あなたの応答テキストhtmlは無効です。閉じるタグには/がありません。実際にはタグに6を追加しており、ブラウザは自動的にタグを閉じています。 – NOBrien

答えて

1

ごresponsetextは、あなたがバックエンドでそれを取得しているところから、終了タグ

<td class="c1">c</td> 
<td class="c1">a</td> 
<td class="c1">t</td> 

変更

<td class="c1">c<td> 
<td class="c1">a<td> 
<td class="c1">t<td> 

を持っていないので、それはおそらくです!

関連する問題