jQuery选择器属性范围

vtn*_*tni 2 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>
....
Run Code Online (Sandbox Code Playgroud)

现在我想编辑其中一些单元格并尝试按范围选择它们,例如.(attr-y3到5之间attr-x = 4)

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

但这给了我那一列中的所有细胞.

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

Tra*_*v L 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');
Run Code Online (Sandbox Code Playgroud)

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