我想切换.toggle-item-(number here)
与.link(number here)
。在开始时,所有.toggle-item
都关闭。只能同时显示一个切换项目。每当新的切换项目打开时,另一个打开的切换项目应该关闭。jQuery切换不起作用
用代码链接是在这里:http://jsfiddle.net/rAUqb/
为什么jQuery代码不工作?
我想切换.toggle-item-(number here)
与.link(number here)
。在开始时,所有.toggle-item
都关闭。只能同时显示一个切换项目。每当新的切换项目打开时,另一个打开的切换项目应该关闭。jQuery切换不起作用
用代码链接是在这里:http://jsfiddle.net/rAUqb/
为什么jQuery代码不工作?
更新Marc的代码,以便它关闭时,点击其他人。
$(document).ready(function() {
$('[class^=toggle-item]').hide();
$('[class^=link]').click(function() {
var $this = $(this);
var x = $this.attr("class");
var className = '.toggle-item-' + x.replace('link', '');
$(className).toggle();
$('[class^=toggle-item]:not('+className +')').hide();
return false;
});
});
我已更新您的代码。
你没有正确地得到数字。
$(document).ready(function() {
$('[class^=toggle-item]').hide();
$('[class^=link]').click(function() {
var x = $(this).attr("class").replace('link', '');
$('[class^=toggle-item]:not(.toggle-item-'+x+')').hide();
$('.toggle-item-' + x).toggle();
return false;
});
});
x中的值是完整的类名(“link1”,“link2”等)。我只是简单地删除了“链接”部分以获得该号码。
Jquery accordion不适合你吗?
使用attr("class")
代替attr("classname")
不需要像这样复杂,请参阅我的更新代码。 – Marc
它并不是非常复杂。您更新后的代码在多次点击时不会切换同一项目,也不会隐藏加载项目 – Contra
谢谢 - Marc和Contra - 您都对解决方案有所贡献 – rabea