2

以下のように複数のセレクターがあると仮定して、私は疑問に思っていました:

$('.BOO li', '.FOO li a').click(function() {

});

hrefキーワードを使用して両方のクラスの値を見つけたいのですがthis、どうすればそれを達成できますか?

先に進んで以下のようにすると、

$('.BOO li', '.FOO li a').click(function() {
    $(this).attr("href");
   //do stuff
    });

.BOO li明らかに取り残されています。

thisのみをターゲットにして、.BOO1 liそれを見つける方法はありますaか?

追加情報:-もちろん、代わりに.BOO1 li a直接選択することもできます

4

2 に答える 2

3

こういう意味ですか?

$('.BOO li', '.FOO li a').click(function() {
    var href;
    if($(this).attr("href"))
        href = $(this).attr("href");
    else
        href = $(this).find("a").attr("href");
});

上記を行うには、より簡潔ですが、より紛らわしい方法があります。

$('.BOO li', '.FOO li a').click(function() {
    var href = $(this).attr("href") ? $(this).attr("href") : $(this).find("a").attr("href");
});
于 2012-07-26T17:54:58.950 に答える
2

を使用.eachして、選択した各要素を反復処理し、コールバック関数でを使用$(this).attr("href")して値を取得します。

于 2012-07-26T17:55:51.517 に答える