2

ajaxリクエストのhtmlレスポンスの要素にアクセスするのに問題があります。私はjqueryを使用しており、問題を可能な限り単純化しようとしています。

私はこのようなajaxhtml応答を持っています(非常に単純に保たれています):

<div id="div_1"><span id="span">Text in Span</span></div>
<div id="div_2">Text in div</div>

今私はjqueryでこのhtml応答の特定の要素にアクセスしようとしています:

 $.ajaxSetup(
 {
   success: function(html)
   {
    alert($('#span', html).html()); //works fine
    alert($('#div_1', html).html()); // doesn't work, why?
    alert($('#div_2', html).html()); // also doesn't work
    alert( $('span', html).first().attr('id') ); // works fine
   }
 }

実際に最初のdiv要素のIDを取得したいのですが、html応答の最初の「レベル」にアクセスできないようです。私はおそらく、他のすべてを含むコンテナを囲むdivで問題を解決することができます。

誰かが私を説明できる別の解決策はありますか、なぜjqueryはhtmlの最初のレベルを無視しているようですか?

どうもありがとうございました、そして私の英語をお詫びします(私はネイティブスピーカーではありません)ファントム

4

3 に答える 3

1

応答を にラップしdiv、それを変数に入れてfind()から、応答から必要な要素を取得するために使用してください。

うまくいけば、それは役に立ちます。

于 2012-04-24T16:44:39.330 に答える
1

idセレクターのハッシュを追加する必要があります。

 $.ajaxSetup(
 {
   success: function(html)
   {
    alert($('#span', html).html()); 
    alert($('#div_1', html).html());  
    alert($('#div_2', html).html()); 
    alert( $('span', html).first().attr('id') ); 
   }
 }
于 2012-04-24T16:44:59.017 に答える
0

#div_1 のように div に hast タグを追加します。これは ID であるためです。

于 2012-04-24T16:45:43.630 に答える