您编写了哪些有用的自定义jQuery选择器?

时间:2009-12-21 14:58:38

标签: javascript jquery custom-selectors

对我来说,jQuery最好但尚未充分利用的功能之一是custom selector。我有一个相当简单的例子,挑选出所有空的文本框:

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

致电:

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

我真的想知道,如果其他人有他们写过的自定义选择器的一些有用的例子。

我当然不会对这些陷阱视而不见,并且意识到它们可能非常慢,因此应该与其他更快的选择器结合使用。听听我们是否应该注意其他问题会很有用。

3 个答案:

答案 0 :(得分:10)

我还没有写任何内容,但是James Padolsey有一个great collection个选择器插件(对于视图中的元素,对于外部链接,对于具有特定.data属性的元素,等)

答案 1 :(得分: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);
};

答案 2 :(得分:0)

由于在stackoverflow上建议自定义选择器,我将在这里添加它们

Select 'URL' style

Selecting empty text input using jQuery