У меня есть следующая табличная разметка:
<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"
Попробуйте
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);
});
var rowdata = [];
$('table tr').each(function () {
rowdata.push($(this).find('.marked').map(function () {
return $(this).index();
}).get());
});