jQuery的选择有一个ACCESSKEY定义的所有元素(Jquery select all ele

2019-06-25 12:10发布

我要选择对他们定义的ACCESSKEY所有元素。

我知道我能做到这一点: $('[accesskey]')但是这给了我很大的投入,HREF中等等,在页面上(他们大多有一个空ACCESSKEY)。

什么是只选择其中ACCESSKEY实际上有一个值的元素的方式吗?

编辑:我找到的空accesskeys的原因为好,被一些老禁用/恢复accesskeys的javascript在多模态对话框功能..通常你不会得到空accesskeys那么多元素造成的

Answer 1:

有了一个选择:

$('[accesskey][accesskey!=""]').foo

它是如何工作的:

// Has the accesskey attribute defined.
[accesskey]

// Doesn't have an empty value for the accesskey attribute.
[accesskey!=""]

一起选择每一个具有元素accesskey属性,它不是空的。



Answer 2:

你可以这样做

$('[accesskey]').filter(function(){
    return $(this).prop('accessKey');
});

.filter()或像其他已经说过,你可以使用attribute-not-equal-selector

工作样本



Answer 3:

你可以使用的和额外的循环

$("[accesskey]").each(function() {
    if($(this)).attr('accesskey').length > 0) {
        // do it
    }
}

我希望它会帮助你



文章来源: Jquery select all elements that have an accesskey defined