Какие полезные пользовательские селекторы jQuery вы написали? - PullRequest
21 голосов
/ 21 декабря 2009

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

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

И позвонить:

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

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

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

Ответы [ 3 ]

10 голосов
/ 21 декабря 2009

Я еще не написал, Джеймс Падолси имеет большую коллекцию плагинов селектора (для видимых элементов, для внешних ссылок, для элементов с определенной *) 1005 * собственность и т. Д.)

3 голосов
/ 21 декабря 2009

Если вы используете ASP.NET, этот селектор поможет вам найти серверные элементы управления по идентификатору:

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

Если у вас был серверный элемент управления, похожий на

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

Вы можете получить к нему доступ вот так

$(":asp(txtPhoneNumber)")

EDIT

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

String.prototype.endsWith = function(str) {
    return (this.match(str + '$') == str);
};
0 голосов
/ 26 февраля 2010

Поскольку в stackoverflow предлагаются пользовательские селекторы, я добавлю их сюда

Выберите стиль 'URL'

Выбор пустого ввода текста с помощью jQuery

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...