我尝试找到以字符串“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答案 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对象中的每个元素。
(编辑以在代码中添加右括号)