если еще с 2 текстовыми переменными - PullRequest
0 голосов
/ 30 марта 2012

У меня есть две переменные в таблице.

<table>
<tr>
<td class="cell1">10</td><td class="cell2">5</td>
</tr>
</table>

Теперь я хотел бы сказать, что если число в .cell2 меньше, чем число в .cell1, то измените цвет .cell2 на красный.

Ответы [ 3 ]

5 голосов
/ 30 марта 2012

Получить содержимое каждой ячейки с помощью .text.Преобразовать в числа с parseInt или parseFloat и добавить или удалить некоторый класс CSS, который условно применяет требуемый стиль, с помощью .toggleClass:

var isSmaller=parseInt($(".cell2").text(),10) < parseInt($(".cell1").text(),10);
$(".cell2").toggleClass("red", isSmaller);

В этом примере я предполагаю этот дополнительный CSS:

.red { background-color: red }
1 голос
/ 30 марта 2012

Вы можете получить строковое значение внутреннего текста, используя оператор text ():

cell10 = $('.cell10').text();
cell2  = $('.cell2').text();

Затем используйте функцию parseInt:

if (parseInt(cell10) > parseInt(cell2)) {
    ...
}

EDIT Джон победил меня в этом

0 голосов
/ 30 марта 2012

Вот скрипка и соответствующая часть:

function doStuff() {
   var $v1 = $('.cell1').text();
   var $v2 = $('.cell2').text();   

   /* debug output */
   $('#result').text("result: v1: " + $v1 + ", v2: " + $v2);

   if (parseInt($v1, 10) > parseInt($v2, 10)) {
       $('.cell2').css("background-color", "red");

       /* debug output */
       $('#result').append("</br> cell1 > cell2 == true");
    }        
}

$(document).ready(function() {
    doStuff();
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...