21

私にとって、jQuery の最高の機能の 1 つでありながら十分に活用されていないのは、カスタム セレクターです。空のテキスト ボックスをすべて選択する、かなり簡単な例があります。

$(document).ready(function() {
    $.extend($.expr[':'], {
        textboxEmpty: function(el) {
            var $el = $(el);
            return ($el.val() == "") && ($el.attr("type") == "text");
        }
    });
});

そして呼び出すには:

alert($(":textboxEmpty").length);

私は本当に、他の誰かが彼らが書いたカスタムセレクターのいくつかの有用な例を持っているかどうか疑問に思っていました.

もちろん、私はこれらの落とし穴に盲目ではなく、非常に遅くなる可能性があるため、他のより高速なセレクターと組み合わせる必要があることを認識しています。他に注意すべき問題があれば教えていただけると助かります。

4

3 に答える 3

10

私は何も書いていませんが、James Padolseyはセレクター プラグインの素晴らしいコレクションを持っています (ビュー内の要素、外部リンク、特定の.dataプロパティを持つ要素など)。

于 2009-12-21T15:42:08.610 に答える
3

ASP.NET を使用している場合、このセレクターは ID でサーバー コントロールを見つけるのに役立ちます。

$.expr[":"].asp = function(a, i, m) {
    return $(a).attr('id') && $(a).attr('id').endsWith(m[3]);
};

次のようなサーバー コントロールがあるとします。

<asp:TextBox runat="server" ID="txtPhoneNumber" />

このようにアクセスできます

$(":asp(txtPhoneNumber)")

編集

拡張機能「endsWith」を追加するのを忘れました

String.prototype.endsWith = function(str) {
    return (this.match(str + '$') == str);
};
于 2009-12-21T15:39:53.187 に答える
0

カスタムセレクターはstackoverflowで提案されているので、ここに追加します

「URL」スタイルを選択

jQueryを使用して空のテキスト入力を選択する

于 2010-02-26T16:17:16.443 に答える