2012-01-26 18 views
1

オブジェクトを比較するためにjQueryの.is()関数(以前のバージョンではなく1.6で導入されたもの)を使用していましたが、残念ながら私が使用しているjQuery 1.5.2では動作しません。私が使用できる代替品があるかどうか疑問に思っていますか?jQueryのis()関数の代わりに?

私は各オブジェクトを複製して比較することを考えていますが、これはこれを行うための最良の方法のようには見えません。

   $('#js-show-more-toggle').contents().each(function() { 
       if (seen) { 
        $wrapper.append(this); 
       } else if ($(this).is($marker)) { 
        // This is what we want to show 
        seen = true; 
       } 
      }).end().append($wrapper, $more); 

jsfiddle:http://jsfiddle.net/someprimetime/n4jnr/14/

+0

jQueryのソースを見て、1.6でそれを実装した方法を見て、そのコードを1.5.2で使用できるプラグインにコピーしてコピーするのが最も簡単な方法です。 –

+1

または、 /時間(コードベースのサイズ、適切なテストの存在など)に応じて、最新バージョンのjQueryに切り替えることができます。 – ThiefMaster

答えて

1

次の2つのDOM要素を比較するthis === $marker[0]を使用することができます。

最新のjQueryバージョンにアップグレードすることを検討してください。マイナーな変更を除いて、通常はかなり簡単です。

+0

ああ。ダー!ありがとう。私はそれ以前のことをしましたが、jQuery selectで '$(this)=== $ marker [0]'としていました。ありがとう:) –

+2

すべての '$()'呼び出しは新しいオブジェクトを作成して動作しません。それに加えて、あなたの例では、jQueryオブジェクトをDOM要素と比較します。 – ThiefMaster

関連する問題