【问题标题】:jQuery - how to extract one class starting with into a variablejQuery - 如何提取一个以变量开头的类
【发布时间】:2013-05-21 10:18:54
【问题描述】:

我正在处理一个动态创建的元素列表,其中一些元素与一个类或“Set1、Set2”等相关联。这些元素有多个类,按照不同的分配顺序,但每个元素只有一个类开始用'Set...',比如...

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

那么,如何将以“Set”开头的特定类从变量“clickedSet”中提取出来,以便为该点击函数提供种子,从而仅显示当前点击集的成员?

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

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

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

感谢您的任何想法。 最好的, 基思..

【问题讨论】:

    标签: jquery class variables jquery-selectors startswith


    【解决方案1】:

    这行得通:

    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();
    });
    

    【讨论】:

      【解决方案2】:

      可能是这样的:

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

      【讨论】:

      • 谢谢,但是这个选择“以集合开头的类...”将包括集合 2 和集合 3 的所有元素,而不仅仅是被点击的元素。我的挑战是如何从单击的元素中提取特定的“用 Set 盯着的类...”来定义过滤器 - 我很高兴我可以在可用时应用它。
      猜你喜欢
      • 2018-02-09
      • 2013-06-26
      • 2018-03-27
      • 1970-01-01
      • 2017-06-23
      • 2023-03-26
      • 2018-10-27
      • 2013-04-22
      • 1970-01-01
      相关资源
      最近更新 更多