通过查找类名进行jQuery选择
我试图创建这样的东西,当用户在通过查找类名进行jQuery选择,jquery,Jquery,我试图创建这样的东西,当用户在li中单击月份时,jquery将找到className,并在文档的其余部分中查找相同的classNme,结果只显示中的className e、 g点击 <li class="jan15">JAN</li> 使用jQuery和新的JSFIDLE链接进行编辑我将在以下方面做更多工作: $('.' + this.className.match(/\w{3}\d{2}/)).not(this).show().siblings().hide()
li
中单击月份时,jquery将找到className
,并在文档的其余部分中查找相同的classNme
,结果只显示
中的className
e、 g点击
<li class="jan15">JAN</li>
使用jQuery和新的JSFIDLE链接进行编辑我将在以下方面做更多工作:
$('.' + this.className.match(/\w{3}\d{2}/)).not(this).show().siblings().hide()
下面的代码段注释得更彻底。另外,请注意,要使其工作,要显示或隐藏的元素需要是同级元素。要做到这一点,只需将它们包装在
或任何东西中
$('years li')。在('click',function()上{
$('..+this.className.match(//\w{3}\d{2}/)//获取类似类的日期并使用它
//在jQuery选择器中。
.not(this)//指定不包含您所创建的链接
//点击。
.show()//运行元素的当前选择
//反对“show”方法
.sides()//获取其他可隐藏元素
.hide()//隐藏它们。
});代码>
li{列表样式类型:无;光标:指针;}
2015年
JAN
二月
三月
2014年
1月
二月
三月
2015年1月
2015年2月
2015年3月
2014年1月
2014年2月
2014年3月
我对jquery中的逻辑做了一点更改,但它似乎有效
希望能有帮助
$('.years li a').click(function() {
className = $(this).parent().attr('class');
// Only clicked will be visible
$('.months > div').hide();
if ($('div.'+className).length > 0){
$('div.'+className).show();
}
});
和css
.months > div{
display:none;
}
如果你不表现出你的努力,这会被否决很多。那把小提琴没有JS,所以它基本上是“有人做我的代码”。只需使用一个简单的$('.CLASSNAME')
就可以选择页面中具有该类名的每个元素。可能还需要一个。而不是(这个)
。谢谢你,这正是我想要的
$('.' + this.className.match(/\w{3}\d{2}/)).not(this).show().siblings().hide()
$('.years li a').click(function() {
className = $(this).parent().attr('class');
// Only clicked will be visible
$('.months > div').hide();
if ($('div.'+className).length > 0){
$('div.'+className).show();
}
});
.months > div{
display:none;
}