2016-10-17 3 views
0

JavaScriptで表の行をHTMLに配置したいと思います。 がなぜ trタグの間にないのですか?ブラウザで、<tr>タグの間にテキストを配置したくないのはなぜですか?

他のブラウザでもテストしましたが、同じ問題です。

<!doctype html> 
    <html lang="en"> 
    <body> 
     <table> 
     <tbody> 
       <!--Javascript puts code here--> 
     </tbody> 
     </table> 
    </body> 
    <script> 
    document.querySelector("tbody").innerHTML += "<tr>trRight</tr>"; 
    document.querySelector("tbody").innerHTML += "<trWrong>trWrong</trWrong>"; 
    </script> 
    </html> 

結果:

result of the code

+0

trは子としてテキストノードを持っていません。 – epascarello

+0

TDやTHのような他のテーブル要素以外のTRには何も追加できないためです。 – csmckelvey

答えて

4

<tr>はそれがdoesn't allow contents<td>または<th>以外に配置されるテーブルの行には、あなただけのこのような<td>内にコンテンツを配置する必要があります:

document.querySelector("tbody").innerHTML += "<tr><td>trRight</td></tr>"; 

<trWrong>は有効なタグであれば、ブラウザはそれをcustom tagとみなし、テキストを囲みます。

[おかげ<tr>タグの有効なリンクの@skyline3000]

+0

'' タグが仕様を参照して、 ''​​または '' 要素以外のものを含めることが許可されていません。 https://www.w3.org/TR/html-markup/tr.html あなたはこれらの要素のいずれかにテキストをラップできます。 – skyline3000

関連する問題