Подтвердить что ты не робот

Какие полезные пользовательские селектора jQuery вы написали?

Для меня одной из лучших, но недоиспользуемых функций jQuery является пользовательский селектор. У меня есть довольно тривиальный пример этого, чтобы выделить все текстовые поля, которые пусты:

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

И для вызова:

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

Мне было интересно, действительно, если бы у кого-нибудь были некоторые полезные примеры пользовательских селекторов, которые они написали.

Я, конечно, не ослеплю от этих ошибок, и понимаю, что они могут быть довольно медленными и, как таковые, должны сочетаться с другими более быстрыми селекторами. Было бы полезно услышать, есть ли какие-либо другие проблемы, о которых мы должны знать.

4b9b3361

Ответ 1

Я еще ничего не написал, но Джеймс Падолси имеет отличная коллекция плагинов селектора (для элементов, которые видны для внешних ссылок, для элементов со специфическим свойством .data и т.д.)

Ответ 2

Если вы используете 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)")

ИЗМЕНИТЬ

Забыл добавить концы с расширением

String.prototype.endsWith = function(str) {
    return (this.match(str + '$') == str);
};