0

次のような部分でページの断片を取得する ajax ハンドラーがあります。

<load loadloc="list" method="append" animation="fadein" >
      <li>add something to a list</li>
</load>
<load loadloc="thediv">
      <h1>hello there</h1>
      <p>this is a paragraph</p>
</load>
<load loadloc="theotherdiv">
      <img src="url.com" />
</load>

ロード要素を反復処理します$(htmlfromajax).filter(function(){ do stuf here });

それはうまく機能しますが、phpがエラーを出すか、私自身が他のhtmlを入力すると、すべての行を反復しようとするか、機能しません。(jsでは複数行で書けませんが、ajaxを受け取ると複数行になるので)

some php error here
<load loadloc="list" method="append" animation="fadein" >
      <li>add something to a list</li>
</load>
<load loadloc="thediv">
      <h1>hello there</h1>
      <p>this is a paragraph</p>
</load>
<load loadloc="theotherdiv">
      <img src="url.com" />
</load>

私の ajax ハンドラーの簡単な例

jquery または ajax を使用して、ロード要素のみを反復処理するにはどうすればよいですか?

4

2 に答える 2

1

エラーが発生した場合に備えて、有効な XML 構造に準拠するように応答を変更することをお勧めします。たとえば、メッセージを<error>タグでラップします。

<error>sometinhg here</error><load>this</load><load><h1>and this</h1></load>

load次に、要素のみをフィルタリングできます。

$(data).filter('load').each(function() { ... });

http://jsfiddle.net/XC5Kc/1/

于 2013-08-02T12:09:19.187 に答える