1

我想将切换功能分别应用于两个按钮。但是,当我使用下面的代码时,它会切换每个按钮下的两个内容。如何将它们分开,以便当我单击第一个按钮时,只有它下面的内容会被切换?

<!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

为什么有两个段落标签呢?制作您的 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 回答