我正在尝试为产品列表模板切换一个 ID(我知道一个类会更好,但在这种情况下我需要使用一个 ID)。不幸的是,它只适用于第一次点击。完成后我无法切换回来。我究竟做错了什么?
这是我正在使用的代码
$(document).ready(function(){
$("a.toggle").bind("click", function(e){
e.preventDefault();
var theid = $(this).attr("id");
var thecontainer = $("div#container");
if($(this).hasClass("active")) {
return false;
} else {
if(theid == "gridView") {
$(this).addClass("active");
$("#listView").removeClass("active");
thecontainer.removeAttr('id');
thecontainer.attr('id', 'container');
}
else if(theid == "listView") {
$(this).addClass("active");
$("#gridView").removeClass("active");
thecontainer.removeAttr('id');
thecontainer.attr('id', 'containerList');
}
}
});
});
这是我用来切换视图的链接的 html。
<div class="buttonPanel">
<a id="gridView" class="btnGridView toggle active" href="#">Grid</a>
<a id="listView" class="btnListView toggle" href="#">List</a>
</div>
CSS 很长,但简而言之,有两个版本,一个是带有框和功能的网格视图,一个是直接列表视图。