2013-05-26 30 views
0

我正在处理一个动态创建的元素列表,其中一些元素与一个类或Set1,Set2等集合相关联。元素有多个类在各种分配订单,但每次只有一个开头类“设置...”,如...jQuery - 如何从一个变量中提取一个类

<div class="SharedClass anotherClass Set2 yetAnotherClass">SomethingA</div> 
<div class="SharedClass anotherClass Set2 yetAnotherClass">SomethingB</div> 
<div class="someClass SharedClass Set3 yetAnotherClass">SomethingC</div> 

所以,我怎么能提取特定的类从到一个变量以“设置” 'clickedSet'播种这个点击功能,只显示当前点击集的成员?

$('.SharedClass').click(function(){ 

    var clickedSet = $(this). //Get the specific classname starting with 'Set...' 

    $(':not("clickedSet")').hide(); 
    $('.clickedSet').show(); 
}); 

任何想法感激地收到。 最佳, 基思..

回答

0

可能是这样的:

$("[class^=Set]").click(function(){ 
    //whatever you want to process 
    }); 
+0

谢谢,但这个选择 '类开始集......'将包括Set 2和Set3的所有元素,而不仅仅是单击的元素。我的挑战是如何从点击的元素中提取特定的“集合...的集合...”来定义过滤器 - 我很高兴我可以应用它。 –

0

这工作:

DEMO

$('.SharedClass').click(function() { 
    var classList = this.className.split(/\s+/), 
     clickedSet; 
    for (var i = 0; i < classList.length; i++) { 
     if (classList[i].indexOf('Set') === 0) { 
      clickedSet = classList[i];   
      break; 
     } 
    } 
    $('.'+clickedSet).show(); 
}); 
相关问题