1

開始状況

これらの2つのコマンドは同等である必要があります。

jQuery('a').filter(':contains(about)');

jQuery.find('a').filter(':contains(about)');

問題

実際、最初のコマンドはうまく機能しますが、2番目のコマンドは次の例外をスローします。

TypeError: :contains(about) is not a function

なぜですか?同じオブジェクトjQuery('a')を返すべきではありませんか?jQuery.find('a')そうでない場合、違いは何ですか?

説明

JQueryコマンドチェーン(プロジェクトAbmashで使用されるJQuery Javaラッパーの一部)を動的に構築しています。したがって、私はのような一連のメソッドを好みjQuery.find('a').filter(':contains(about)')ます。

4

2 に答える 2

4

jQuery.find('a')配列を返します(Array.filter()引数として関数を取ります)。

jQuery('a')jQuery-array-like-Objectを返します

于 2012-04-08T12:59:39.533 に答える
1

find ($.find()) の静的呼び出しは、ラップされたセットではなく配列を返します。あなたが探しているのはこれだと思います:

$('a:contains(about)');
于 2012-04-08T13:02:18.307 に答える