0
<script type="text/javascript">
    $(document).ready(function(){
        console.log($('#list_table_template').html());
    });
</script>

<div id="list_table_template" style="display: none;">
    <table id="list_table" cellpadding="0" cellspacing="0">
        <p>123</p>
        <tr id="lt_header">
            <!--#lt_header#-->
        </tr>
        <!--#lt_listing#-->
        <tr id="lt_footer">
            <td colspan="5">Footer Placeholder</td>
        </tr>
    </table>
</div>

このコードは期待どおりの結果を返しません。

ログが表示されることを期待していましたが:

    <table id="list_table" cellpadding="0" cellspacing="0">
        <p>123</p>
        <tr id="lt_header">
            <!--#lt_header#-->
        </tr>
        <!--#lt_listing#-->
        <tr id="lt_footer">
            <td colspan="5">Footer Placeholder</td>
        </tr>
    </table>

しかし、代わりにそれは私に与えます:

<p>123</p><table id="list_table" cellpadding="0" cellspacing="0">

    <tbody><tr id="lt_header">
        <!--#lt_header#-->
    </tr>
    <!--#lt_listing#-->
    <tr id="lt_footer">
        <td colspan="5">Footer Placeholder</td>
    </tr>
</tbody></table>

p タグが順不同で、テーブルの前にジャンプすることに注意してください。

4

2 に答える 2

7

<th>または<td>タグ内にない限り、表内に段落をネストすることはできません。これは無効な HTML であるため、ブラウザーはそれをテーブルの外に再配置し、jQuery はブラウザーが解析したものしか読み取ることができません。

最善の解決策は、 を有効な HTML であるpに置き換えることです。ただし、段落をテーブル内に表示する場合は、最初に...captionで囲む必要があります。<tr><td></td></tr>

于 2012-09-20T18:16:04.087 に答える
0

お使いのブラウザは、<p>内の -tag を解析できません<table>。そのため、代わりにそれの外で解析されます。

于 2012-09-24T18:24:40.883 に答える