найти все элементы и, если у вас нет класса, добавить другой класс, используйте jQuery

0
var $trs = $("#task-list-tbody").find("tr");

$.each($trs, function(index, item){
  if(!item.hasClass("tGroup")){
    item.addClass("subgroup");
  }
});

это не удалось, как я могу это сделать? Я просто хочу добавить класс подгруппы, если в элементах tr нет класса tGroup

Теги:

3 ответа

4
Лучший ответ

Более короткая версия

$("#task-list-tbody").find("tr:not(.tGroup)").addClass('subgroup');
  • 0
    да, это работает хорошо, я исправил это, спасибо!
  • 0
    Очень красиво, 1 line === 6 lines :)
1

Ваш код страдает

Объект # <HTMLTableRowElement> не имеет метода 'hasClass'

Таким образом, добавьте item с помощью $() потому что когда вы перебираете trs, он возвращает отдельные элементы html <tr>..</tr>.

В заключение,

$.each($trs, function(index, item){
  if(!$(item).hasClass("tGroup")){
        $(item).addClass("subgroup");
  }
});
  • 1
    Я попробовал это, и это работает хорошо
0

Попробуй это:

var $trs = $("#task-list-tbody").find("tr");

$trs.each(function(){
   if($(this).attr('class').indexOf('tGroup') == -1){
      $(this).addClass('subgroup');
   }
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню