2014-09-20 1 views
0

Я хочу использовать jquery для поиска текстового диапазона в ячейке .sos и изменения цвета bg на основе значения набора диапазонов. Под диапазоном i подразумевается особый экземпляр каждого # 1-6, если бы текст содержал числа 1, 2, 3, 4, 5 или 6 точно.jQuery фильтр через диапазон текста и применить новый цвет bg

text value 1-6 = green 
text value 7-12 = blue 
text value 13-20 = yellow 
text value 21-26 = pink 
text value 21-26 = black 
then also if no text value matched set a different color or purple 

пример HTML

<td class="sos">11</td> 
<td class="sos">2</td> 
<td class="sos">32</td> 
<td class="sos">3</td> 

Я знаю, как сделать каждое текстовое значение 1, в то время, но не видел никакой Tuts сделать выбор, если это возможно.

$('.sos').each(function() { 
    if ($(this).text() == '3') { 
     $(this).css('background', 'red'); 
    } 
}); 
+0

Что вы имеете в виду под "диапазон"? Приведу пример. – loveNoHate

+0

Я дал диапазон выше, если td.sos содержит текст 1-6 (1,2,3,4,5 или 6), затем примените цвет bg зеленого цвета – MShack

+0

$ ('. Sos'). Each (function () { if ($ (this) .text()> = 2 && $ (this) .text() <= 7) { $ (this) .css ('background', 'red'); } }); –

ответ

1

Присвоить ID вашему HTML Table и нет необходимости назначать класс для каждого td:

HTML

<table id="tableID"> 
<tr> 
    <td>11</td> 
    <td>2</td> 
    <td>32</td> 
    <td>3</td> 
</tr> 
</table> 

И Jquery:

$("#tableID td").each(function() { 
    var a = $(this).text(); 
    if(parseInt(a)>=1 && parseInt(a)<=6) 
    { 
    $(this).css('background', 'red'); 
    } 
    //... AND so on for other conditions 
}); 

ИЛИ

$("#tableID td").each(function() {  
    (parseInt($(this).text()) >= 1 && parseInt($(this).text()) <= 6 ? 
    $(this).css('background', 'red') : "") 
}); 

DEMO

Смежные вопросы