1

在我的页面中,我使用了 jquery addclass 并删除了类功能来为所选图像添加边框。但图像在 for 循环内。所以它对我不起作用,我尝试了各种编码。但我没有得到预期的结果。我使用的编码

for循环中的四个图像列表

<div id="containerborder">
        <?php foreach ($images as $image) { ?>

        <a href="javascript:;" title="<?php echo $heading_title; ?>" class="colorboxs" rel="<?php echo $image['popup'];?>"onclick="document.getElementById('image').src=this.rel"> <img src="<?php echo $image['thumb']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" id="<?php echo $image['popup']; ?>" onclick="swapborder(this.id);"/>
        </a>
        <?php } ?>

查询函数

<script>
 $(function() { 
 $('#contianer a').click(function() { return swapborder(this); }); 
 }); 
 // 
 function swapborder(clickObject) {
 var currentId=clickObject; 
 alert(currentId);
 $('#containerborder a').each(function() { 
 if ($(this).attr('id')==currentId) { 
 $(this).addClass('active-class'); 
 } 
else { $(this).removeClass('active-class'); } 
 }); 
 return false; 
 } 
 </script>

它在警报中显示 ID。但在那之后$('#containerborder a').each(function() { 不起作用并且图像的边框没有应用。谁能帮我解决这个问题。提前致谢

4

1 回答 1

1

你的意思是写var currentId = $(clickObject).attr('id')

但是,这样做会更容易:

function swapBorder(elem) {
    $("#containerborder a").removeClass('active-class');
    $(elem).addClass('active-class');
}
于 2013-02-21T05:25:27.220 回答