[英]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.