JQuery CSS селектор для таблицы

0

У меня есть следующая табличная разметка:

<table>
    <tr><td>foo</td><td class=marked>foo</td><td>foo</td></tr>
    <tr><td class=marked>foo</td><td class=marked>foo</td><td class=marked>foo</td></tr>
    <tr><td>foo</td><td>foo</td><td>foo</td></tr>
    <tr><td>foo</td><td>foo</td><td class=marked>foo</td></tr>
</table>

Некоторые клетки помечены классом marked - как я могу выбрать все строки, которые имеют клетки с классом marked? Я знаю, как выбрать все отмеченные ячейки, но мне нужны строки для селектора, чтобы их пропустить.

То, что я хочу достичь, это строка массива /JSON, которая содержит все данные всех строк с индексами ячеек отмеченных ячеек, которые выглядели бы примерно так:

rowdata[0] = [1];
rowdata[1] = [0,1,2];
rowdata[3] = [2];

Любые идеи, что это самый простой способ?

EDIT: Извините, была опечатка, я имел в виду класс "marked"

Теги:
html-table
indexing

2 ответа

1

Попробуйте

var rowdata=[];

$('tr').each(function(){
   $td=$(this).find('td');
   arr=[];
   $td.each(function(index,value){
       if($(this).hasClass('marked'))
          arr.push(index);
   });
   rowdata.push(arr);
});

скрипка

0
var rowdata = [];
$('table tr').each(function () {
    rowdata.push($(this).find('.marked').map(function () {
        return $(this).index();
    }).get());
});

DEMO

  • 0
    Этот ответ находится в некачественной очереди. Пожалуйста, объясните ваш код.
  • 0
    @ johnchen902 ты прав, мои извинения

Ещё вопросы

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