jquery: нажмите для каждого id-элемента, начинающегося с - PullRequest
12 голосов
/ 08 августа 2011

Я пытаюсь найти все идентификаторы, начинающиеся со строки "matchItem_", и определить событие щелчка для каждого из них.Я хочу выполнить скрипт с параметром url и изменить изображение в этом id-элементе.к сожалению, мой синтаксис неправильный, я также пытался использовать .each.function, но я не получил его.

пожалуйста, посмотрите мой код:

$('[id^="matchItem_"]').each {

    $(this).click(){
     //...execute my script.php?urlparam=xx....;
     $(this).find('img').attr('src','/admin/images/ok.png');
    }

}

благодарен за чью-то помощь

спасибо заранее, Мичбек

Ответы [ 2 ]

24 голосов
/ 08 августа 2011

Вам не нужно each:

$('[id^="matchItem_"]').click(function() {
   // do something
   $(this).find('img').attr('src','/admin/images/ok.png');
});
14 голосов
/ 08 августа 2011

Ваш синтаксис недействителен, потому что вы забыли функции.

$('[id^="matchItem_"]').each(function() {
    $(this).click(function(){
           //...execute my script.php?urlparam=xx....;
         $(this).find('img').attr('src','/admin/images/ok.png');
    });
});

Или, если все, что вы делаете, это назначаете обработчик .click(), вы можете сделать это без .each().

$('[id^="matchItem_"]').click(function(){
       //...execute my script.php?urlparam=xx....;
     $(this).find('img').attr('src','/admin/images/ok.png');    
});

Это связано с тем, что большинство методов jQuery автоматически воздействуют на каждый элемент объекта jQuery.

(отредактировано для добавления закрывающей скобки в коде)

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