我想选择所有定义了 accesskey 的元素。
我知道我可以做到这一点:$('[accesskey]')
,但这在页面上给了我很多输入、hrefs 等(其中大多数都有一个空的 accesskey)。
仅选择 accesskey 实际具有值的元素的方法是什么?
编辑:我也发现了空访问键的原因,是由多个模式对话框上的一些旧的禁用/恢复访问键 javascript 函数引起的。通常你不会得到那么多带有空访问键的元素
我想选择所有定义了 accesskey 的元素。
我知道我可以做到这一点:$('[accesskey]')
,但这在页面上给了我很多输入、hrefs 等(其中大多数都有一个空的 accesskey)。
仅选择 accesskey 实际具有值的元素的方法是什么?
编辑:我也发现了空访问键的原因,是由多个模式对话框上的一些旧的禁用/恢复访问键 javascript 函数引起的。通常你不会得到那么多带有空访问键的元素
使用一个选择器:
$('[accesskey][accesskey!=""]').foo
它是如何工作的:
// Has the accesskey attribute defined.
[accesskey]
// Doesn't have an empty value for the accesskey attribute.
[accesskey!=""]
它一起选择具有accesskey
属性且不为空的每个元素。
你可以这样做
$('[accesskey]').filter(function(){
return $(this).prop('accessKey');
});
.filter()
或者像其他人已经说过你可以使用attribute-not-equal-selector
你可以使用和额外的循环
$("[accesskey]").each(function() {
if($(this)).attr('accesskey').length > 0) {
// do it
}
}
我希望它会帮助你