1

我在我的网站上切换了几个使用 PHP 循环的 div,现在问题是传递 div id,但是如果我循环 10 篇文章,这将生成 10 个脚本,还有更好的方法来传递 id 并打开关联的 div?

http://jsfiddle.net/NbGSB/

<script>
$('#toggle4').click(function() {
$('.toggle4').slideToggle('fast');
    return false;
});
</script>
<a href="#" id="toggle4">Slide Toggle</a><br /><br />
<div class="toggle4" style="display:none; background-color:#4CF;width:100px;height:200px;"></div>

现在如果我有多个 div 怎么办?我是否需要始终传递 id 并循环脚本,还是有更好的方法?抱歉,我不擅长 jQuery

4

2 回答 2

1

是的,只要给你的文章一个类,比如“arcticle-toggle”,然后在两个 br-tags 之后滑动 div: HTML:

<a href="#" class="article-toggle">Slide Toggle 1</a><br /><br />
<div style="display:none; background-color:#4CF;width:100px;height:200px;"></div>

<a href="#" class="article-toggle">Slide Toggle 2</a><br /><br />
<div style="display:none; background-color:#8CF;width:100px;height:200px;"></div>

JS:

<script>
 $('.article-toggle').click(function() {
  $(this).next().next().next().slideToggle('fast');
 return false;
}
</script>

小提琴

于 2012-11-23T07:41:13.117 回答
1

有很多方法可以做到这一点。

在不更改您的 html 的情况下,您可以通过将其放在所有切换和 div 之后来做到这一点 - 就在</body>标签通常是一个好地方之前

<script type="text/javascript">
$('[id^="toggle"]').click(function() {
    $(this).next('[class^="toggle"]').slideToggle('fast');
    return false;
});
</script>

$('[id^="toggle"]')$('[class^="toggle"]')分别选择 id 和 class 以“toggle”开头的所有元素。

于 2012-11-23T07:53:14.383 回答