1

私がやろうとしているのは、テーブルのヘッダーを新しいテーブルにコピーすることです。だから、私は以下のように試しました:

var srcTable = document.getElementById("bnn_GridView");
var clonedTable = srcTable.cloneNode(true);
clonedTable.id = "copiedTable";    // clear the id property of the cloned table

var container = document.getElementById("_bnn_GridView_tr");
container.appendChild(clonedTable);

はい、元のテーブルをコピーしました

ここに画像の説明を入力してください

上記はコピーされたテーブルであり、以下は元のテーブルです。それは見つけて動作します。しかし、コピーしたテーブルから行を削除すると、次のようになります。

ここに画像の説明を入力してください

すべての幅属性を失います。元のテーブルから幅をコピーしなかったのでわかります。ちなみに、元のテーブル自体にもwidthプロパティはありません。

これは元のテーブルソースです。

<table id="bnn_GridView">
    <tr>
        <td><div>No</div></td>
        <td><div>Name</div></td>
        <td><div>User ID</div></td>
        <td><div>Address</div></td>
        <td><div>Telephone Number</div></td>
        <td><div>Zipcode</div></td>
        <td><div>Web Site</div></td>
        <td><div>Sex</div></td>
        <td><div>Birthday</div></td>
        <td><div>Note</div></td>
    </tr>
    <tr>
        <td>0</td>
        <td>Richard0</td>
        <td>richard</td>
        <td>5th texas street</td>
        <td>+82 114</td>
        <td>135-080</td>
        <td>http://www.website.com</td>
        <td>Male</td>
        <td>May 5 1980</td>
        <td>Good</td>
    </tr>
</table>

何か案は?コピーしたテーブルのすべての行を削除しても、元のテーブルの幅を維持するため。

4

1 に答える 1

0

ソース テーブルの行の各セルをループしてから、クローン テーブルの対応するセルの幅を明示的に設定する必要があります。

于 2013-03-17T03:46:53.903 に答える