jQuery选择器属性范围

时间:2014-08-04 23:29:49

标签: javascript jquery jquery-selectors

我有一个包含一些行和列的表,每个行都有一个属性:

<tr attr-y="1"><td attr-x="1">...</td><td attr-x="2">...</td>...</tr>
<tr attr-y="2"><td attr-x="1">...</td><td attr-x="2">...</td>...</tr>
....

现在我想编辑其中一些单元格并尝试按范围选择它们,例如。 (attr-y介于3和5之间,attr-x = 4

$('#mytable tr[attr-y>3][attr-y<5] td[attr-x=4]')

但这给了我那一栏中的所有单元格。

我可以直接选择单元格(带选择器语句)吗?

1 个答案:

答案 0 :(得分:5)

您可以使用.filter()执行更复杂的查询:

$('#mytable td').filter(function() {
    return ($(this).parent().attr('attr-y') > 3 && $(this).parent().attr('attr-y') < 5)
        && ($(this).attr('attr-x') == 4)
})
.css('background-color', 'aqua');

示例:http://jsfiddle.net/8wH4M/1/