簡體   English   中英

jquery具有AND OR條件的多個選擇器

[英]jquery multiple selectors with AND OR condition

如果我有一個有4000行的表

<table>
<tr class="a b c d e f g"><td>xxx</td></tr>
<tr class="a c d e f g"><td>xxx</td></tr>
<tr class="d e f g"><td>xxx</td></tr>
<tr class="a d e f g"><td>xxx</td></tr>
.
.
.
.
.
</table>

如果我想選擇具有類(a或b或c)和(d或e)和(a或g)的行

如何編寫選擇器語句?

謝謝

試試這個:

$('.a, .b, .c').filter('.d, .e').filter('.a, .g')

首先,4000行看起來有點過分,無論你如何看待它都會變慢。 如果您只想使用JQuery根據許多不同的類類型選擇所有行,只需使用多選擇器語法:

$('.a, .b, .c')...

這將選擇具有類a,b或c的所有元素。 從那里你可以使用$ .filter()函數進一步過濾列表與其他類類型:

$('.a, .b, .c').filter('.d, .e')...

這將從選擇具有類a,b或c的所有元素開始,然后它將過濾掉任何不包含類d或e的元素。 您可以根據需要進行多次過濾,一旦到達最終列表,您可以使用$ .each()函數迭代所有結果:

$result.each(function() { do stuff... });

試試這個:

$(document).ready(function() {
    var items = $('.a,.b,.c').filter(function() {
        var classes = $(this).prop('class').split(' ');
        return (classes.indexOf('d') > 0 || classes.indexOf('e') > 0) && (classes.indexOf('a') > 0 || classes.indexOf('g') > 0)
    });

    items.find('td').css('color', 'red');
});

見這里: http//jsfiddle.net/UcYnu/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM