2014-08-14 2 views
1

У меня есть таблица со многими строками. Некоторые строки имеют четкий цвет, и я хочу получить массив этих элементов tr, используя jquery. Я использовал селекторы, но не работалоПолучение всего tr с определенным фоном с помощью селектора

$("#tbodySample").children("tr[background-color='rgb(79,79,79)']").length; 

$("#tbodySample").children("tr[style='background-color:rgb(79,79,79)']").length; 

$("#tbodySample").children("tr[style='{background-color:rgb(79,79,79)}']").length; 

$("#tbodySample").children("tr[background-color='#4F4F4F']").length; 

$("#tbodySample").children("tr[style='background-color:#4F4F4F']").length; 

$("#tbodySample").children("tr[style='{background-color:#4F4F4F}']").length; 

Мой HTML является

<table> 
<tbody id="tbodySample"> 
<tr class="selectable" style="background-color: rgb(79, 79, 79);">contents</tr> 
<tr class="selectable" style="background-color: rgb(52, 52, 52);">contents</tr> 
<tr class="selectable" style="background-color: rgb(52, 52, 52);">contents</tr> 
<tr class="selectable" style="background-color: rgb(52, 52, 52);">contents</tr> 
<tr class="selectable" style="background-color: rgb(79, 79, 79);">contents</tr> 
. 
. 
. 
</tbody> 
</table> 

Все приведенные выше возвращает 0. Существует ли надежный способ для достижения этой цели?

+1

Показать все HTML-коды. –

+0

Назначьте цвета, используя классы css, затем найдите элементы с определенным классом. Делает жизнь намного проще. – nbrooks

ответ

0

Вы можете использовать фильтр, чтобы проверить цвет фона. Я проверка .css('color') против обоих шестнадцатеричных значений и значений RGB для кросс-браузерной совместимости:

var count = $('#tbodySample').find('tr').filter(function(){ 
    var colors = ["#4F4F4F","rgb(79, 79, 79)"]; 
    return $.inArray($(this).css('background-color'), colors) !== -1; 
}).length; 

JSFiddle

Примечание: Вы имеете недопустимый HTML, <td> элементы должны быть непосредственными потомками или <tr> элементы

+0

Есть 5 tds в каждом tr Я havent дал его здесь – Arvin

+0

Спасибо, это работает – Arvin

+0

Нет проблем. Рад помочь. – George

0

Пробуйте следующее:

$("#tbodySample tr[style*='background-color: rgb(79, 79, 79);']").length 
Смежные вопросы