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

mic*_*eck 13 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');
    }

}
Run Code Online (Sandbox Code Playgroud)

感谢某人的帮助

先生,michbeck

Mrc*_*ief 25

你不需要each:

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


use*_*716 15

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

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

或者如果您正在做的就是分配.click()处理程序,那么您可以在没有处理程序的情况下执行此操作.each().

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

这是因为大多数jQuery方法将自动作用于jQuery对象中的每个元素.

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