как найти элементы с одинаковыми именами классов, используя jquery - PullRequest
0 голосов
/ 14 февраля 2012

У меня есть контейнер, внутри которого есть несколько якорных тегов.Эти якорные теги имеют одинаковые имена классов.Теперь я хочу получить все теги привязки с именем класса, скажем, clickMe внутри контейнера.и применить плагин только к ним.

вот что у меня есть

<div class="container">
    <a href="#" class="button" rel="btn1">Task box 1</a><br />
    <a href="#" class="button" rel="btn2">Task box 2</a><br />
    <a href="#" class="button" rel="btn3">Task box 3</a><br />
    <a href="#" class="button" rel="btn4">Task box 4</a><br />
    </div>

РЕДАКТИРОВАТЬ

Вот мой код плагина

(function() {
$.fn.tasks = function(userOptions){
    this.each(function() {
        var opts = $.extend({
            'speed'     : 200
        }, userOptions);

        var ael = $(this).find('a.button');
        var container = $(this); //'.' + opts.container;
        var speed = opts.speed;
        //alert(container);
        var backdrop = $('<div></div>').addClass('backdrop');
        var box = $('<div></div>').addClass('box');

        $(ael).click(function() {
            //alert(speed);
            var rel = $(this).attr(rel);
            alert("rel");
            $(box).html(rel);
            $(container).append(backdrop, box);
            $(backdrop).animate({'opacity' : '.50'}, speed, 'linear');
            $(box).animate({'right' : '0'}, speed, 'linear');
            $(backdrop,box).css('display', 'block');
        });

        $(backdrop).click(function() {
            closeBox();
        });

        function closeBox() {
            $(box).animate({'right' : '-500'}, speed, 'linear', function() {
                $(backdrop).animate({'opacity' : '.0'}, speed, 'linear', function() {
                    $(backdrop,box).css('display', 'none');
                });
            });
        }
    });
}
}(jQuery))

Ответы [ 2 ]

2 голосов
/ 14 февраля 2012

Если я правильно понял ваш вопрос, это так просто:

$(".container a.clickMe").yourPlugin();

.container - Находит элементы с классом "контейнер"

a.clickMe - Находит потомков .container, которые являются a элементами с классом "clickMe"

Вероятно, вам следует начать (как уже упоминалось в комментариях к вашему вопросу) с прочтения документации jQuery , так как она довольно проста.

Редактировать (см. Комментарии)

В вашем плагине this, скорее всего, будет относиться к набору соответствующих элементов. Поэтому вы можете перебрать this, используя each, и использовать find, чтобы получить потомки a элементов:

this.each(function() {
    var aElems = $(this).find("a.clickMe");
});
0 голосов
/ 14 февраля 2012

Чтобы выбрать только якоря с классом clickMe внутри контейнера, используйте: $("div.container a.clickMe")

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