jquery:点击每个以_开头的id元素

时间:2011-08-08 16:17:26

标签: jquery jquery-selectors

我尝试找到以字符串“matchItem_”开头的所有id,并为每个id定义一个click事件。 onclick我想要用url param执行脚本并更改此id元素中的图像。不幸的是我的语法不对,我也试过.each.function但我没有得到它。

请看我的代码:

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

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

}

感谢某人的帮助

先生,michbeck

2 个答案:

答案 0 :(得分:24)

您不需要each

$('[id^="matchItem_"]').click(function() {
   // do something
   $(this).find('img').attr('src','/admin/images/ok.png');
});

答案 1 :(得分:14)

您的语法无效,因为您忘记了这些功能。

$('[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对象中的每个元素。

(编辑以在代码中添加右括号)