-1

私のテーブルには [object HTMLInputElement] があり、この要素の ID を変更したいと考えています。しかし、これはうまくいきません:

`関数 BindFunctions() {

        $('table[id*="tbl_main"]').tablesorter();
        $('table[id*="tbl_main"]').bind("sortEnd",function() { 
            var table = document.getElementById('<%=tbl_main.ClientID%>');
            for (var i = 0, row; row = table.rows[i]; i++) {
                var e = row.cells[0].firstChild;
                e.id= '5';           
            }
        }); 
    };`

誰でも私を助けることができますか?

4

1 に答える 1

0

関連するマークアップが表示されない場合、対処するのは非常に困難です。しかし、私の推測では、セルの最初の子は要素ではなくテキスト ノードです。DOMfirstChildプロパティは、要素である場合とそうでない場合がある最初のnodeを提供します。たとえば、テーブルの行が次のようになっているとします。

<tr><td>Foo</td></tr>

...thenrow.cells[0].firstChildは、テキストを含むテキスト ノードです"Foo"

また、引用されているように、コードは無効な DOM 構造を作成することに注意してください。ドキュメント内の複数の要素で同じものを使用することはできません。各行の最初の子要素に値idを与えようとしています。値は一意である必要があります。id"5"id

さらに、jQuery を使用しているようです (ただし、質問にタグを付けていませんjquery)。は HTML では"5"有効な値ですが、CSS では有効な値ではありません。jQueryは CSS スタイルのセレクターを使用するため、jQuery で無効な CSS値を使用すると問題が発生します。ididid

于 2013-04-02T09:52:06.243 に答える