2016-01-22 1 views
-1

Я хочу выбрать первый столбец каждой строки. Но в первом столбце, возможно, есть свойство «rowspan».JQuery selector для таблицы каждая строка первая колонка

Так вот так.

HTML:

<tr> 
    <td rowspan="2">first1<td> 
    <td>first2<td> 
    <td>first3<td> 
<tr> 
<tr> 
    <td>second2<td> 
    <td>second3<td> 
<tr> 
<tr> 
    <td>third1<td> 
    <td>third2<td> 
    <td>third3<td> 
<tr> 

Я выбираю первый столбец, но я получаю эти результаты.

$("tr td:first-child"); 

"<td rowspan="2">first1<td>,<td>second2<td>,<td>third1<td>" 

ожидать результат

"<td rowspan="2">first1<td>,<td>third1<td>" 

Я хочу, чтобы получить эти столбцы с фиксированными столбцами для таблицы слева направо свитки.

Спасибо.

+1

что ожидаемый результат? '" first1 , third1 "'? –

+0

Что вы хотите с ними делать? Было бы большой разницы между созданием массива данных и добавлением класса – charlietfl

+0

Что не так с этими результатами? 'second2' - это первый столбец второй строки. – Barmar

ответ

0

Нечто подобное может вам начать, хотя существует множество плагинов для делать то, что вы хотите

var $rows = $('tr'), skipCount = 0; 

var $cloneTable = $('<table>'); 
$rows.each(function() { 
    var $row = $(this), $firstCell; 
    var $newRow = $('<tr>'); 
    if (!skipCount) { 
     $firstCell = $row.find('td').first(); 
     $newCell =$firstCell.clone().height($firstCell.height());   
     $newRow.append($newCell); 
     var rowSpan = +$firstCell.attr('rowspan'); 
     if (rowSpan) { 
      skipCount = rowSpan-1; 
     } 
    } else { 
     skipCount--; 
    } 
    $cloneTable.append($newRow); 

}); 

DEMO

+0

Сначала я хотел использовать селектор, чтобы завершить его. Теперь это единственный способ реализовать его. Благодарю вас. –

 Смежные вопросы

  • Нет связанных вопросов^_^