使用jQuery选择器查找以class开头的元素

时间:2013-02-14 19:01:44

标签: jquery jquery-selectors

我有以下元素列表。

 <tr id="level_0">
 <tr class="level_0_1">
 <tr class="level_0_2">
 <tr class="level_0_2_1">
 <tr class="level_0_2_2">
 <tr class="level_0_2_3">
 <tr class="level_0_2_3_1">
 <tr class="level_0_2_3_2">

我正在尝试选择包含class level_0_2_X而非level_0_2_X_X

的所有元素

使用jQuery“以”开头“选择器我能够选择具有class level_0_2_Xlevel_0_2_X_X

的所有元素
   $("tr[class^='level_0_2_']").show();

2 个答案:

答案 0 :(得分:6)

您最好将选择器与过滤功能结合使用:

$('[id^=level_0_2_]').filter(function(){ return this.id.split('_').length<5 })

如果你想要的实际上是对课程的过滤,你可以使用:

$('[class^=level_0_2_]').filter(function(){
    return this.className.split('_').length<5
})

答案 1 :(得分:1)

尝试使用match()。以下必须为您完成工作:

$('tr').each(function(){
     if( $(this).attr('id').match(/pattern/) ) {
          $(this).show();
     }
  }

只需根据需要使用该模式。同样在上面我使用了'id',如果需要,你会获得'class'属性并与之匹配。