2016-09-05 26 views
0

numberを含む列を検索し、それらにクラスを追加し、空の列を見つける前に次の列に追加する関数を作成しました。私はまた、下の列(次の行が同じインデックスの列)にクラスを追加したいが、私はそれを解決することはできません。私は.parent()メソッドを試してみたが、私はこだわっていると私は正直にやっているのか分からない...ここに私のコードjQuery:同じインデックスの兄弟行の列にクラスを追加

$("table tbody tr td").each(function() { 
    var num = $(this).text(); 
    if ($.isNumeric(num)) { 
     $(this).addClass('word-' + num).nextUntil('td:empty').addClass('column-' + num); 
    } 
    }); 

だとここで私がしたいものを表示する画像ですdo(赤いフィールド)。 enter image description here

私の英語のために申し訳ありません。

+0

あなたはhtmlを提供し、場合によっては結果をどのように表示するかを手動で追加のテーブルを追加できますか?今の質問は、あなたが達成しようとしていることを理解するのが難しいです。 –

+0

ここに私のjsfiddleがあります: https://jsfiddle.net/5yzLftu0/ 例では、番号1はクラスワード-1を持ち、同じ行が同じ行の次のtdに追加されます。しかし、私は例えば単語3のクラスを追加する方法を知らないので、数字3の下に書いてください。あなたは今理解していますか? – user3043693

答えて

1

あなたif声明の中で、あなたはの線に沿って何か追加することができます:あなたは言葉は(取り付けられた2つのクラスを持って交差するスタイルにしたい場合は

JS Fiddle

var indexed = $(this).index() + 1; // Get column number 
var row = $('tr').has(this); // Current row 
row.nextAll('tr').each(function(e) { 
    var cell = $(this).find('td:nth-child(' + indexed + ')'); 

    if(cell.text().length) { 
     cell.addClass('word-' + num); 
    } else { 
     return false; // End loop if word is finished 
    } 

}); 

ボーナス

は、 "word-"で始まる場合は、次のようにすることができます:

/* Intersection */ 
[class^='word-'][class*=' word-'] { 
    font-weight: bold; 
    background: grey; 
    color: white; 
} 
0

グレートは、それは私が望んで私は、「垂直」属性を追加したい:)

$("td").each(function() { 
    var num = $(this).text(); 
    if ($.isNumeric(num)) { 
     $(this).addClass('word-' + num).nextUntil('td:empty').addClass('word-' + num); 
     var indexed = $(this).index() + 1; 
     var row = $('tr').has(this); 
     row.nextAll('tr').each(function() { 
     var cell = $(this).find('td:nth-child(' + indexed + ')'); 
     if (cell.text().length) { 
      if (cell.find("[class*=word-]")) { 
      cell.attr('vertical', 'word-' + num); 
      cell.addClass('word-' + num); 
      } else { 
      cell.addClass('word-' + num); 
      } 
     } else { 
      return false; 
     } 
     }); 
    } 
    }); 

だ、すでに水平クラスを持つ列に、私はそれが良いか間違っているのでしょうか?

関連する問題