2010-10-05 2 views
1

Предположим, у вас есть таблица вроде этого:jquery - как добавитьClass на основе содержимого элемента?

<table> 
<tr> 
<td>Group 1</td> 
<td>some data here</td> 
<td>Group 2</td> 
</tr> 
</table> 

и вы хотите, чтобы это было так:

<table> 
<tr> 
<td class="group1">Group 1</td> 
<td>some data here</td> 
<td class="group2">Group 2</td> 
</tr> 
</table> 

решения как Ник Craver-ые годы и Кевин здесь ниже работы хорошо. Спасибо, парни! Зачем мне это делать? Сформировать расписание для некоммерческой организации, которая предоставляет семинары.

+0

Почему вы хотели бы сделать такую ​​вещь? Он воняет. – mgamer

ответ

3

Я не уверен почему вы бы это сделали (я бы остановился и посмотрел на это честно, есть лучший способ).

Вы можете сделать его общим. Например, вы могли бы передать функцию .addClass(), например:

$("td:contains('Group ')").addClass(function() { 
    return this.innerHTML.replace("Group ", "group"); 
}); 
0

Если ваш контент будет содержать только «группы X» можно просто удалить пробелы и преобразовать текст ниже.

Например:

$('td').each(function() { 
    var className = $(this).html().replace(' ', '').toLowerCase(); 
    $(this).addClass(className); 
}); 
Смежные вопросы