1. ホーム
  2. jquery

jQueryでテーブルのtbodyに行を追加する

2023-07-12 16:25:13

質問

に行を追加しようとしています。 tbody に行を追加しようとしています。しかし、私はそれを達成するために問題を抱えています。まず、すべてが行われる関数は、htmlページからのドロップダウンの変更時に呼び出されます。私は tr 文字列を作成し、そこにすべての td の中に、html要素、テキスト、その他のものが含まれています。しかし、その生成された行を使用してテーブルに追加しようとしているとき、私は。

$(newRowContent).appendTo("#tblEntAttributes tbody");

エラーに遭遇しています。テーブルの名前は tblEntAttributes であり、私はそれを tbody .

実際に起こっていることは、jQueryが tblEntAttributes を html 要素として取得できないことです。しかし、私は documemt.getElementById("tblEntAttributes");

に行を追加することで、これを実現する方法はないでしょうか? tbody に行を追加することで実現できます。バイパスか何かでしょうか。

これがコード全体です。

var newRowContent = "<tr><td><input type=\"checkbox\" id=\"" + chkboxId + "\" value=\"" + chkboxValue + "\"></td><td>" + displayName + "</td><td>" + logicalName + "</td><td>" + dataType + "</td><td><input type=\"checkbox\" id=\"chkAllPrimaryAttrs\" name=\"chkAllPrimaryAttrs\" value=\"chkAllPrimaryAttrs\"></td><td><input type=\"checkbox\" id=\"chkAllPrimaryAttrs\" name=\"chkAllPrimaryAttrs\" value=\"chkAllPrimaryAttrs\"></td></tr>";

$("#tblEntAttributes tbody").append(newRowContent); 

一つ言い忘れたのは、このコードが書かれている関数は、実際にはajax呼び出しの成功コールバック関数であるということです。テーブルへのアクセスは document.getElementById("tblEntAttributes") を使ってテーブルにアクセスできますが、何らかの理由で $(#tblEntAttributes) は機能しないようです。

どのように解決するのですか?

このような奇妙な問題に出くわしたのは初めてです! o.o.

何が問題だったのかわかりますか?$が動作していないのです。私は同じコードをjQueryで次のように試してみました。 jQuery("#tblEntAttributes tbody").append(newRowContent); のようにjQueryで同じコードを試したところ、魅力的に動作しました。

なぜこのような奇妙な問題が発生するのかわかりません