1

私はこのようなコードを持っています:

<p>Lorem ipsum<a href=# class="a">link</a><span class="b">Text</span>More lorem ipsum<a href=# class="a">link</a><span class="b">Text 2</span>

そして、ユーザーがをクリックしlinkて、スパンで何かを実行できるようにしたいと思います(フラッシュする、非表示にするなど)。私はjQueryを使用していますが、これは私がこれまでに得たものです。

$('.a').click(function() {
    $(this).nextUntil('.a').css('background-color', 'red');
 });

これは、スパンの前にリンクがあり、テキストに他のコードがないことについて熱心に取り組んでいる限り機能します。しかし、私はそれに満足していません、そしてもっと良い方法があるに違いありません。私も試しました:

$('.a').click(function() {
    $(this).next('.b').css('background-color', 'red');
 });

しかし、それはクラスのすべてのスパンを選択するbので、良くありません。

私は新しくて途方に暮れています。私は知恵を求めています。

4

2 に答える 2

1
$('a.a').click(function() {
    $(this).next('span.b').css('background-color', 'red');
 });

あなたのためにうまくいくはずです。直後の兄弟を取得します。

于 2010-02-06T07:41:46.087 に答える
0

おそらくあなたはこれを試すことができますか?

$(".a").click(function() {
    $(this).addClass("something_special");
    $(".something_special + .b").css({backgroundColor: "red"});
    $(this).removeClass("something_special");
});
于 2010-02-06T07:44:11.843 に答える