4

#<HTMLDivElement>をjQueryオブジェクトとして取得するにはどうすればよいですか?

次のことを行う必要があります。クラスの内容を含む div のリストがあります。したがって、追加のクラス「test」を持つものが見つかるまで、それを繰り返します。

ここに私のコードがあります:

$.each( $(".contents"), function( key, value ) {
    if (value.hasClass("test"))
    {
        alert("got it");
    }
});

私は例外を取得しています:Uncaught TypeError: Object #<HTMLDivElement> has no method 'hasClass'

4

3 に答える 3

10

each()関数はオブジェクトを提供し、DOMそれをオブジェクトに変換する必要がありjQueryます。jQuery関数に渡しvalue$jQueryオブジェクトに変換できます。

$.each( $(".contents"), function( key, value ) {
    if ($(value).hasClass("test"))
    {
        alert("got it");
    }
});

それぞれを反復して単純化する必要はありません

elements = $(".contents.text")
于 2013-05-06T09:48:39.280 に答える
2

なぜそれをもっと簡単にしないのですか:

$(".contents.test"). ...

ここで、jQuery は"contents""test"クラスの両方が設定されている要素を選択します。

デモ: http://jsfiddle.net/xfErG/

于 2013-05-06T09:51:37.640 に答える
0

メインの jQuery 関数は、DOM 要素を引数として受け入れることができます。

var foo = jQuery(HTMLElementNode);

次の 2 行のコードの最終結果は同じです。

var foo = jQuery('#foo');
var foo = jQuery(document.getElementById('foo'));
于 2013-05-06T09:49:39.340 に答える