2

私は jquery を初めて使用し、Jquery.find() メソッドの理解に問題があります。他の回答を読んでいますが、まだ何かが欠けているように感じます。

私は ajax 呼び出しを行っており、html を返しています。

<!DOCTYPE html> 
<head><title></title></head>
<body>
<form name="CALC"><table>....</table></form>
</body>
</html>

それから私は

$(data).find('table');

すべてが期待どおりに機能しますが、同様の ajax 呼び出しを実行して次の html を取得すると、

<!DOCTYPE html> 
<head><title></title></head>
<body>
<div class="paraSearch">.....</div>       
</body>

それから私は

$(data).find('.paraSearch');

div オブジェクトを受け取りません。代わりに、探している div は prevObject 配列にあります。ただし、次のように呼び出すと機能します。

$(data).closest('.paraSearch');

find() は複数の要素を選択できるため、配列を返すことができることを理解しています。しかし、なぜ最初のバージョンが機能するのでしょうか?

説明してくれてありがとう!

アップデート

私の問題を明確にするために、ajax呼び出しを含むファイルを追加しようとすると、次のようになります。

var content = $( data).find( '.paraSearch' );
$(sectionName).append(content);

何も追加されません。

4

2 に答える 2

3

find()探しているものを呼び出す要素の子孫を検索します。

closest()探しているものを呼び出す要素の祖先を検索します。

基本的にfind、ツリーを下にclosestトラバースし、ツリーを上にトラバースします。

于 2013-05-22T13:47:00.640 に答える