Jquery选择所有已定义accesskey的元素
我想选择所有在其上定义了accesskey的元素。
我知道我可以这样做: $('[accesskey]')
,但在页面上给了我很多输入,hrefs等(大多数都有一个空的访问键)。
只选择accesskey实际具有值的元素的方法是什么?
编辑:我发现空访问键的原因,也是由多个modal dialog上的一些旧的禁用/恢复accesskeys 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 } }
我希望它会对你有所帮助