我正在尝试根据表格中不同th
元素的点击来显示不同的数据。我正在使用jQuery 1.7
但我不知道为什么这不起作用?
我想要的是,当用户点击特定的th
时,那个具有该th
id的类的表应该显示,而其他表必须在那时隐藏..
这是我的小提琴,请帮助我。
注意:请不要提出其他方法,因为我已经在该页面中编写了很多jquery代码。
由于
答案 0 :(得分:5)
而不是使用:
$('#detailsDiv > table').hasClass(''+thisvalue +'').show();
使用过滤器:
$('#detailsDiv > table').filter('.'+thisvalue +'').show();
或在1个选择器中
$('#detailsDiv > table.' +thisvalue).show();
hasClass
检查表是否有一个返回布尔值的类。 filter
函数在当前结果之间进行过滤。
答案 1 :(得分:1)
以这种方式尝试:
$('#detailsTab th').live('click', function(){
var thisvalue = $(this).attr('id');
$('table.' + thisvalue).show();
});
因为我假设您只想显示相关的table
:
$('#detailsTab th').live('click', function(){
var thisvalue = $(this).attr('id');
$('table').not('#detailsTab, table.' + thisvalue).hide();
$('table.' + thisvalue).show();
});
注意:在您的JS Fiddle id
中,您的'设施'th
是'设施',而相关的{{1}是'设施'。我已对此进行了修改,以便它们在我的演示中都是相同的情况。
答案 2 :(得分:1)
答案 3 :(得分:0)
您可以使用的另一个选择器(更适合其他属性)
$('#detailsDiv > table[class~="'+thisvalue+'"]').show();