0

私のレールアプリケーションでは、

私は ajax 呼び出しを行っていました。json 応答から、チェック ボックス ツリーを作成しています。

チェックボックスは、ajax 呼び出しの後に表示ページに正常に表示されます。

しかし、ページのソースを表示しようとすると、動的に追加された要素はブラウザによってページのソース コードに表示されず、動的コンテンツを追加する前のソース コードの要素しか表示されません。

誰でも私に教えてください、私は何か間違ったことをしていますか、それともブラウザのプロパティがそう振る舞っていますか??

動的要素を追加するための私のajax応答関数

success: function(data) 
                    {
                        jQuery("#gradeContent").css("display","block");
                        var s=[]
                        jQuery("#gradeContent123").append('data');
                        jQuery("#gradeContent").append('<ul id="gradeContent_ul" class="ui-widget-daredevel-checkboxTree ui-widget ui-widget-content">')
                        jQuery.each(data, function(k,v) 
                        {
                            jQuery("#gradeContent").append('<li><input type="checkbox" name="category" id="category"/><span>'+k+'</span><ul>');

                            jQuery.each(v,function(k1,v1)
                            {
                                jQuery("#gradeContent").append('<li><input type="checkbox"/><span>'+v1+'</span></li>');
                            });


                            jQuery("#gradeContent").append('</ul></li><br/>');
                        });
                        jQuery("#gradeContent").append('</ul>');

                        jQuery('#gradeContent_ul').checkboxTree();

                    }

ここに画像の説明を入力

4

2 に答える 2

4

はい、それはブラウザの特性であり、自然な動作です。「ソースを表示」は、ページが最初にロードされたときにサーバーから取得した最初の html コードのみを表示します。

于 2013-06-27T13:42:49.297 に答える
3

「動的に追加された要素は、ブラウザによってページのソース コードに表示されません」

これは正常で正しい動作です。

動的な追加/削除/更新を含む DOM の現在のバージョンを表示するには、ブラウザーのデバッグ ツールを使用します。Chrome または IE では F12、FF では ctrl-shift-i で開くか、特定の要素を右クリックします。ページで「Inspect Element」(またはブラウザの同等のオプション) を選択します。開発ツールでは、特定の要素に適用可能な CSS チェーンやイベント ハンドラーなども確認できます。

于 2013-06-27T13:44:03.500 に答える