1

2 つのボタンに個別にトグル機能を適用したいと考えています。ただし、以下のコードを使用すると、各ボタンの下の両方のコンテンツが切り替わります。最初のボタンをクリックすると、その下のコンテンツのみが切り替わるように、それらを分離するにはどうすればよいですか?

<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
  <button>Toggle</button>
<p>Hello</p>
<p style="display: none">Good Bye</p>

<button>Toggle</button>
<p>Hello</p>
<p style="display: none">Good Bye</p>

<script>
$("button").click(function () {
$("p").toggle();
});
</script>

</body>
</html>
4

3 に答える 3

2

シンプル:を使用しますnextUntil()
一致する要素に到達するまで、次のすべての要素を選択します(あなたの場合は next button):

jsFiddle デモ

$("button").click(function () {
     $(this).nextUntil('button').toggle();
});
于 2012-07-16T16:11:43.833 に答える
1

これを試して:

$("button").click(function () {
  $(this).nextAll("p:lt(2)").toggle();
});

http://jsbin.com/orujav

于 2012-07-16T16:01:10.260 に答える
0

これに 2 つの段落タグがあるのはなぜですか? HTML を作成します。

<button>Toggle</button>
<p>Hello</p>

<button>Toggle</button>
<p>Hello</p>

そしてあなたのjQuery:

$("button").click(function () {
    $(this).next('p').html( ($(this).next('p').html()=='Hello')?'Good Bye':'Hello');
});​

jsFiddle の例

于 2012-07-16T16:08:42.393 に答える