0

我有几个.modif带有属性标题的按钮,例如,每个按钮都不同: title="one",然后所有框都有相同的类.box_slide,但我试图只显示一个也有类 box_one 并隐藏其他的,所有框都有班上.box_slide

问题是所有的盒子都藏起来了,有人能告诉我一个更好的方法吗?

$('.modif').click(function (){    
    var title = $(this).attr('title'); 
    $('.box_slide').hide();
    $('.box_' + title).show();
});
4

5 回答 5

1

您在描述中提到标题是“box_one”。但是在代码中,您将其视为

 $('.box_' + title).show();

这将导致 box_box_one

因此,这可能会导致问题。

下面将按预期工作

$('.box_slide.box' + title).show();
于 2013-09-12T12:46:28.660 回答
0

你应该改变

$('.box_' + title).show();

这样:

$('.box_slide[title=box_' + title + ']').show();
于 2013-09-12T12:45:32.090 回答
0

您可以使用Attribute Starts With Selector \[name^="value"\]显示所有具有以 box_ 开头的类的元素并隐藏特定的元素:

$('.modif').click(function (){    
    $("[class^='box_']").show();
    $('.box_slide').hide();
});
于 2013-09-12T12:46:33.753 回答
0

如果我理解你的问题,以下应该有效

$('.modif').click(function (){    
    var title = $(this).attr('title'); 
    $('.box_slide').hide();
    $('.box_slide .' + title).show();
});
于 2013-09-12T12:47:18.457 回答
0

用这个。

$('.modif').click(function (){    
    var title = $(this).attr('title'); 
    $('.box_slide').hide();
    $('.box_' + title ).show();
});
于 2013-09-12T12:50:47.743 回答