我正在为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>
答案 0 :(得分:1)
使用filter并假设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');
但这很重。在不了解整个背景的情况下,很难做出相关的命题,但在这种情况下会出现数据属性。
$('tr:gt('+firstNumber+')').find('td:gt('secondNumber')').addClass('selectable');