从以上可以看出在alert的时候 数据并还没有加载出来 控制台也并没有打印出信息/所以此时是取不到数据的。

使用ajaxComplete()方法可以在请求完成时运行要执行的代码">
ホームページ > ウェブフロントエンド > jsチュートリアル > 動的に生成された要素を取得するための jQuery

動的に生成された要素を取得するための jQuery

WBOY
リリース: 2016-05-16 16:44:33
オリジナル
1672 人が閲覧しました

要件の説明: テーブルなどのデータをページ上に動的に追加でき、ボタンをクリックすることで行を動的に追加できます。または、ページ
がロードされると、テーブル データが ajax を通じてバックグラウンドから取得されます。ここで値の 1 つを取得したいのですが、どうやって取得するのでしょうか?

クリックやマウスオーバーなどのイベントを通じて取得したい場合は、live() メソッドを使用できます。

コードをコピー コードは次のとおりです:

$(".button").live("click",function(){
console.info($( "#mytd") .html());
})

イベント経由でない場合は、ページのロード時に値を取得するか、他の操作を実行する必要があります

live( ) メソッドは、イベントを渡すことができないため機能しません。

たとえば、次のコード:
コードをコピー コードは次のとおりです:




;
< スクリプト type="text/javascript">
$(function() {
$.post("admin/UserForumthemeBabygrowupFrontList.do",{},function(data)) >console.info(data.table);
$("#tab").append(data.table);

alert($("#mytd") ()); // 値を取得
});



上記のコードは、post を通じてバックグラウンドから返された値を追加するものです。 to
バックグラウンドによって返されるデータはそして、post 後に mytd として ID を取得したいとします。現時点では

の値を取得できません。ブラウザから問題を観察できます:


上記から、アラートが発行されたときにデータが利用できないことがわかります。ロード後、コンソールは情報を出力しないため、現時点ではデータを取得できません。
動的に生成された要素を取得するための jQueryajaxComplete() メソッドを使用して、リクエストの完了時に実行されるコードを次のように変更しました:



コードをコピー コードは次のとおりです: $(function() {
$.post("admin/UserForumthemeBabygrowupFrontList.do",{},function(data) {
console.info (data.table);
$("#tab").append(data.table);
})
$("#tab").ajaxComplete(function) (){ //保留中のリクエスト 完了したら、
alert($("#mytd").html())
})
}); 🎜>
この時点では、ページはデータを取得したときにすでに読み込まれています。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
北京深セン