2013-02-14 52 views
0

我有以下元素列表。找到使用jQuery選擇器開始的類的元素

<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"> 

我想選擇所有具有classlevel_0_2_X而不是level_0_2_X_X

使用jQuery的元素選擇「開頭」我能夠選擇所有具有classlevel_0_2_Xlevel_0_2_X_X

元素
$("tr[class^='level_0_2_']").show(); 
+1

發佈問題時請小心。你一直把你的'class'稱爲'id'。我相應地編輯它以匹配您的代碼。 – Sparky 2013-02-14 19:07:51

+0

感謝編輯 – Swathi 2013-02-14 19:24:17

回答

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 
}) 
+0

doh,你打敗了我。 +1 – naugtur 2013-02-14 19:05:02

+0

另一個在這裏搭車... :) – 2013-02-14 19:06:00

+0

問題不明確,因爲它混合id和類。也許需要進行調整。 – 2013-02-14 19:06:36

1

嘗試使用match()。以下必須爲您完成工作:

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

只需使用所需的模式。此外,我已經使用'id',如果需要,您可以獲得'class'屬性並與之匹配。