“tabindex> 0”元素的CSS选择器

时间:2016-09-12 09:52:12

标签: jquery angularjs jquery-selectors

我正在尝试选择tabindex大于-1的所有元素(可聚焦元素)。到目前为止,这是我提出的:

$element.find('[tabindex]:not([tabindex < \'0\'])');

它不起作用,而是抛出错误:

Error: Syntax error, unrecognized expression: [tabindex < '0']
    at Function.Sizzle.error (vendor.js:1463)
...

然而,这可行,但它不包括tabindex&lt; -1

$element.find('[tabindex]:not([tabindex=\'-1\'])');

2 个答案:

答案 0 :(得分:6)

Selectors doesn't provide attribute selectors with numeric comparisons,jQuery也没有。

在这种特定情况下,我认为您可以使用以-符号开头的tabindex排除元素(除了排除tabindex为0的元素):

$element.find('[tabindex]:not([tabindex="0"]):not([tabindex^="-"])');

答案 1 :(得分:2)

您可以使用filter

$("[tabindex]").filter(function() {
    return parseInt($(this).attr("tabindex"), 10) >= 0;
})