我有以下元素列表。
<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_X
和level_0_2_X_X
$("tr[class^='level_0_2_']").show();
答案 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'属性并与之匹配。