2013-11-21 3 views
1

У меня есть структура таблицы, какНайти соответствующий ТД второй для объединенных столбцов первой строки

<table> 
    <thead> 
     <tr> 
      <td id='td1' rowspan="2"></td> 
      <td id='td2' rowspan="2"></td> 
      <td id='td3' rowspan="2"></td> 
      <td id='td4' colspan="2"></td> 
      <td id='td5' colspan="2"></td> 
      <td id='td6' rowspan="2"></td> 
      <td id='td7' rowspan="2"></td> 
      <td id='td8' colspan="4"></td> 
     </tr> 
     <tr> 
      <td id='td9'></td> 
      <td id='td10'></td> 
      <td id='td11'></td> 
      <td id='td12'></td> 
      <td id='td13'></td> 
      <td id='td14'></td> 
      <td id='td15'></td> 
      <td id='td16'></td> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td ></td> 
      <td ></td> 
      <td ></td> 
      <td ></td> 
      <td ></td> 
      <td ></td> 
      <td ></td> 
      <td ></td> 
      <td ></td> 
      <td ></td> 
      <td ></td> 
      <td ></td> 
      <td ></td> 
      <td ></td> 
      <td ></td> 
      <td ></td> 
     </tr> 
    </tbody> 
</table> 

мне нужно найти из THEAD второго ряда все тд, соответствующий первой строка тда, которые были натянутым с colpan ,

Я пытался найти childslength и попробовал некоторую формулу для расчета такой же, но не работает

+0

Мммм .. Я думаю, ваш вопрос будет более ясным с примером. Например, каков ожидаемый результат для кода выше? Благодаря! – Augusto

+0

Я хочу, когда у меня есть td4, я должен получить td9 и td10 из второй строки, аналогично td5, td11, td12 и для td8, td13, td14 .... В основном я хочу, чтобы все столбцы второй строки были натянуты для Первая строка – user3018204

ответ

0

Что вам нужно что-то вроде этого:

Я использовал индекс элементов, а не их ID, так вы можете изменить их на все, что захотите.

$("tr:eq(0) td[colspan]").click(function(){ 
    var myIndex = $(this).index(); 
    var myColspan = parseInt($(this).attr('colspan')); 
    var startingFrom = 0; 
    var previous = $("tr:eq(0) td:lt(" + myIndex + ")[colspan]").each(function(){ 
     startingFrom += parseInt($(this).attr('colspan')); 
    }); 
    // This is the list of results. 
    var elements = $("tr:eq(1) td").slice(startingFrom, startingFrom + myColspan); 
    // Just for checking 
    elements.each(function(){ 
     alert($(this).attr('id')); 
    }); 


}); 

Я просто привязал функциональность к событию 'click' для демонстрационной цели.

Отъезд мой Fiddle для живой демонстрации: http://jsfiddle.net/augusto1982/K3pA2/

Ссылка:

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