Подсчет символов в <th></th>
Доброе время суток. Подскажите как посчитать количество символов (включая пробелы) в Ячейках 2 и 4. И если эта сумма будет превышать больше 10 символов, эти ячейки буду закрашены красным цветом.
<table class="form-table from-table_size_sm"> <tbody> <tr><th style="width: 150px;">Ячейка 1</th><td><div class="model-value">123456</div></td> <td class="form-table__gutter"> </td><th>Ячейка 2</th><td><div class="model-value">78 9456 123</div></td> <td class="form-table__gutter"> </td></tr><tr><th style="width: 150px;">Ячейка 3</th><td><div class="model-value">а б вг-д</div></td> <td class="form-table__gutter"> </td><th>Ячейка 4</th><td><div class="model-value">11-11-11</div></td></tr> </tbody> </table> |
Куда пропала ячейка во второй строке?
$('.form-table tr').children(':nth-child(4)').css('background-color', function() { return this.textContent.length > 10 ? '#f00' : '#fff' }) |
Цитата:
|
Цитата:
Цитата:
|
Извините, но я не до конца понимаю. Я сохранил этот код в html формате и получил 8 ячеек. Мне же нужно посчитать "78 9456 123" и "11-11-11", а они находятся в группе "Ячейка 2" и "Ячейка 4" соответственно.Как искать по коду именно <th>Ячейка 2</th> и <th>Ячейка 4</th>? Простите мою неосведомленность :-?
|
Цитата:
|
<body> <table class="form-table from-table_size_sm"> <tbody> <tr> <th>Имя</th><td><div class="model-value">Иван</div></td> <td class="form-table__gutter"> </td><th>Имя (лат.)</th><td><div class="model-value">IVAN</div></td> </tr> <tr> <th>Фамилия</th><td><div class="model-value">Иванович</div></td> <td class="form-table__gutter"> </td><th>Фамилия на лат.</th><td><div class="model-value">Ivanovich</div></td> </tr> </tbody> </table> Вот еще пример html. Можно ли создать такое условие? Если в <tr> есть <th> с текстом "Имя", то берется значение <td>. |
$('th:contains("Имя")').next() В данном случае это будет коллекция из двух ячеек <td><div class="model-value">Иван</div></td> и <td><div class="model-value">IVAN</div></td>. |
Спасибо. Теперь я понял. Зная расположение ячеек, можно ли посчитать количество символов ячеек "Ivan" и "Ivanovich" и поставить условие если их количество будет превышать 10 они изменят цвет на красный?
|
Ну так сделать тоже самое, что и в первом случае, различие то только в селекторах.
$('th:contains("Имя")').next().css('background-color', function() { return this.textContent.length > 10 ? '#f00' : '#fff' }) PS. textContent поддерживается не всеми браузерами, но это можно заменить на либо innerHTML, либо this.textContent заменить на $(this).text() PPS. Нет, в данном случае innerHTML применить нельзя, так как он возвращает html содержимое, а ячейки имеют вложенный DIV. |
Часовой пояс GMT +3, время: 09:31. |