1

jQuery 駆動型フォームのグリッド システムに取り組んでいます

クラス名の数字が firstNum および secondNum の変数 (既に配置されている変数) 以上の場合、特定のクラスをすべての s に追加する必要があります。

それぞれに、'firstNumber-secondNumber' の形式の一意のクラスがあります (例: '2-5' または '4-1')。

これが私が探している方向性の断片です - 角括弧内のビットは、これを少し明確にするでしょう.

$('td.[GREATER THAN OR EQUAL TO firstNum]-[GREATER THAN OR EQUAL TO secondNum]').addClass('selectable');

助けていただければ幸いです-フィルタリングがダウンするルートであるかどうか疑問に思っています(?)-しかし、現時点ではそこにたどり着くことができません..!

HTML

 <tr> 
     <td class="1-1">cell data</td> 
     <td class="1-2">cell data</td> 
     <td class="1-3">cell data</td> 
 </tr> 
 <tr> 
     <td class="2-1">cell data</td> 
     <td class="2-2">cell data</td> 
     <td class="2-3">cell data</td> 
 </tr> 
 <tr> 
     <td class="3-1">cell data</td> 
     <td class="3-2">cell data</td> 
     <td class="3-3">cell data</td> 
 </tr>
4

1 に答える 1

1

フィルタを使用し、 にクラスが 1 つしかないと仮定するとtd、次のようになります。

$('td').filter(function(){
     var c = this.className;
     if (!c) return false;
     var tokens = c.split('-');
     if (parseInt(tokens[0])>firstNumber
         && tokens.length>0
         && parseInt(tokens[1])>secondNumber
     ) return true;
     return false;
 }).addClass('selectable');

でもこれは重い。全体の文脈を知らなければ、適切な提案をするのは難しいですが、その場合、データ属性が頭に浮かびます。


編集、HTML を見ると、行とセル番号だけに関心があるようです。つまり、次のようなことができます。

$('tr:gt('+firstNumber+')').find('td:gt('secondNumber')').addClass('selectable');
于 2013-05-03T13:18:55.007 に答える