Пропускать выбранный элемент в jQuery в каждом цикле - PullRequest
0 голосов
/ 08 августа 2009

Я пытаюсь написать цикл для перебора каждого якоря в неупорядоченном списке и выполнения действия с изображением внутри якоря. Разметка выглядит так:

 <ul>
    <li><a href="#"><img src="image.png" /></a></li>
    <li><a href="#"><img src="image.png" /></a></li>
    <li><a href="#"><img src="image.png" /></a></li>
</ul>

Событие щелчка на любом из якорей должно запустить цикл. Пока у меня есть следующий JS:

$("a").click(function(){
    $("a").each(function(){
        if (THIS IS THE CLICKED ON ANCHOR == TRUE) {
            // SKIP THIS ITEM
        }
        else {
            $("img",this).actions();
        };
    });
});

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

Я использую jQuery 1.3.2.

Спасибо!

Ответы [ 3 ]

6 голосов
/ 08 августа 2009

Я думаю, что есть более простой способ:

$("a").click(function() {
   $("a").not(this).find('img').actions();
});
1 голос
/ 08 августа 2009

Вы можете попробовать:

$("a").click(function(){
    var clickedItem = this;
    $("a").each(function(){
        if (this == clickedItem) {
            // SKIP THIS ITEM
        }
        else {
            $("img",this).actions();
        };
    });
});
0 голосов
/ 08 августа 2009

Похоже, я понял это, мне просто нужно было сохранить это из события нажатия:

$("a").click(function(){
    var clickedOnAnchor = this;
    $("a").each(function(){
        if (clickedOnAnchor == this) {
            // SKIP THIS ITEM
        }
        else {
            $("img",this).actions();
        };
    });
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...