我正在尝试选择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\'])');
答案 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;
})