0

この質問は、昨日私が尋ねた別の質問に関連しており、そのリンクは次のとおりです 。jqueryのHTMLをajaxを介して要素に解析し、対応する各ページを置き換えます。

基本的に、私はaphaxでphpページを呼び出し、応答の要素をページ上の対応する要素に置き換えたいと思います。私は答えで次の関数を得ました:

 $(data ).filter('.maindiv').each(function (index) 
  /* "this" is the current div in response*/          
  $('#'+this.id).replaceWith(this);
 });

上記の関数は、置き換えたいdivに通常のid =がある場合にうまく機能しますが、たとえばgid=などのカスタム属性を使用すると機能しません。どうすればこれを修正できますか?

ありがとう

4

3 に答える 3

2

;を使用する代わりに、カスタム属性にattrを使用しthis.idます。$(this).attr("YourAttr")

$(data ).filter('.maindiv').each(function (index) 
   /* "this" is the current div in response*/          
    $('#'+$(this).attr('gid')).replaceWith(this);
});
于 2013-02-08T12:57:33.427 に答える
1

gid属性を持つノードは次のように選択できます。

$('[gid]').replaceWith(this);

必要なgid値を持つノードのみを選択することで、さらに正確にすることができます。

$('[gid="hello"]').replaceWith(this);

それが役に立てば幸い

于 2013-02-08T13:03:09.090 に答える
0

データには、カスタム属性を使用できます。HTML5data-は、属性の使用を指定します。すばらしいのは、これがHTML4でも機能することです。jQueryはdataメソッドを使用してそれを読み取ることができます。

私がお勧めします:

<div class="maindiv" data-grid="myGrid">...</div>

$(data).filter('.maindiv').each(function (index)        
     $('#'+$(this).data('gid')).replaceWith(this);
});
于 2013-02-08T13:01:30.487 に答える