2

accesskey が定義されているすべての要素を選択したいと考えています。

私はこれを行うことができることを知っています: $('[accesskey]')、しかし、それはページ上に多くの入力、hrefsなどを与えます(それらのほとんどは空のアクセスキーを持っています)。

accesskey が実際に値を持つ要素のみを選択する方法は何ですか?

編集:空のアクセスキーの原因も見つかりました。これは、複数のモーダルダイアログに対する古い無効化/復元アクセスキーJavaScript関数が原因でした..通常、空のアクセスキーを持つ要素はそれほど多くありません

4

3 に答える 3

2

セレクターが 1 つの場合:

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

それはどのように機能しますか:

// Has the accesskey attribute defined.
[accesskey]

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

一緒accesskeyに、属性を持ち、空ではないすべての要素を選択します。

于 2012-06-15T09:34:07.377 に答える
1

あなたはこれを行うことができます

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

.filter()または他の人がすでに使用できると言っているようにattribute-not-equal-selector

作業サンプル

于 2012-06-15T09:30:50.700 に答える
0

追加のループを使用できます

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

それがあなたを助けることを願っています

于 2012-06-15T09:33:19.793 に答える