0

コードが機能しない理由がわかりません。

$("#example").find('LI A').hasClass("sth").each(function(){alert($(this))});

Firebugによると:

$( "#example")。find('LI A')。hasClass( "sth")。eachは関数ではありません

このコードの問題はeach、削除してもエラーが発生しないためです。

「a」要素の確立された値を配列に渡す必要があります。

4

2 に答える 2

4

hasClass関数は、jQueryオブジェクトではなくブール値を返します。したがって、それは機能を持っていませんeach

あなたはおそらくこれを意味しました:

$("#example").find('LI A.sth').each(function(){alert($(this))});

またはこれ(どちらが良いか):

$("#example li a.sth").each(function(){alert($(this))});

ドキュメントを読む:

.hasClass(className)戻り値:ブール値

説明:一致した要素のいずれかに特定のクラスが割り当てられているかどうかを確認します

于 2012-04-07T22:30:50.207 に答える
2

hasClassのアプリケーションが正しくありません。jQueryオブジェクトを返すのではなく、ブール値を返すため、.each()適用できません。

クラスをセレクターにアタッチする必要があります

$("#find").click(function (){
    $("#example").find('a.sth').each(function(){
        $("#test").append($(this));
    });
 });

デモ

于 2012-04-07T22:31:24.227 に答える