我想将切换功能分别应用于两个按钮。但是,当我使用下面的代码时,它会切换每个按钮下的两个内容。如何将它们分开,以便当我单击第一个按钮时,只会切换其下的内容?
<!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>
答案 0 :(得分:2)
简单:使用nextUntil()
。
将选择所有下一个元素,直到达到匹配元素(在您的情况下是下一个button
):
$("button").click(function () {
$(this).nextUntil('button').toggle();
});
答案 1 :(得分:1)
试试这个:
$("button").click(function () {
$(this).nextAll("p:lt(2)").toggle();
});
答案 2 :(得分: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 example 强>