我的点击更改图片有问题,我有数据库消息,每条消息都有状态0或1,从我的代码o必须点击状态图像它会改变,它的改变但仅针对第一条消息。当我点击其他消息状态时,它不会更改,但仅更改第一个状态。我怎么能跑这个!!!“
<script type="text/javascript">
$(function() {
$('.imageCheck').click(function(e){
e.preventDefault();
$("#bg").attr('src',"/application/admin/img/tick.png");
});
});
</script>
<th>Status</th>
</tr>
</thead>
<tbody>
<?php
foreach ($users as $user):
?>
<tr>
<td><?=$user['id']?></td>
<td>
<div class="imageCheck"><img id="bg" src="<?php echo $img_path;?>publish_x.png" name="statusCheck" value="0" />
</div>
</td>
答案 0 :(得分:1)
您需要更改消息控件中的#bg
。在事件处理程序中使用find
来获取嵌套的bg
元素。
$('.imageCheck').click(function(e){
e.preventDefault();
$(this).find("#bg").attr('src',"/application/admin/img/tick.png");
});
答案 1 :(得分:0)
因为ID可以(或者更确切地说)只在DOM中存在一次。 jQuery只更改匹配选择器#bg
的第一个元素。请尝试使用类:
<img class="bg" />
$('.bg').attr('src', '...');
答案 2 :(得分:0)
ID应该在页面上是唯一的。由于你是循环的,你将有多个id为bg的imgs,所以只有第一个有效。
当BenM状态将其更改为.bg时,还会更新您的代码以找到div下面的确切图像
$(".bg", $(this)).attr('src',"/application/admin/img/tick.png");