0

好的,所以我有一个被点击的链接......一旦它被点击,我想要改变'a'属性中的img src。这是我所拥有的

HTML:

"<td>
  <a href='#' class='flag' name='$files[id]' >
      <img src='".$this->config->item('base_url')."/images/notflagged.png' 
         class='flagimg' />
  </a>
</td>"

jQuery:

$(".flag").on("click", function(e){
    var fileID = $(this).attr("name");
    var src = '<?php echo base_url().'images/flagged.png';?>';

    // This is where I am hung up, as I want to replace the current src...if I
    // just use $(".flagimg") it will change all src'c with the same class
    $(this).find(".flagimg").attr("src", src);  

    e.preventDefault();
});
4

5 回答 5

0

替换这一行:

$(this).(".flagimg").attr("src", src);

有了这个:

$(this).find(".flagimg").attr("src", src);
于 2012-12-25T00:46:25.727 回答
0
$(".flagimg", this).attr("src", src);
于 2012-12-25T00:47:14.183 回答
0

我不知道它是否适合您,但也许您可以尝试更改您的 HTML,例如:

<td>
<a href='#' class='flag' name='$files[id]' >
  <img class='flagimg' src='".$this->config->item('base_url')."/images/notflagged.png' 
      />
</a>
</td>

没有测试,但你可以试试:

$(".flag").on("click", function(e){

  var fileID = $(this).attr("name");
  var src = '<?php echo base_url().'images/flagged.png';?>';


  $(this).children('.flagimg').attr("src", src);    

  return false;
  });
于 2012-12-25T01:09:32.090 回答
0

可能是,建议php代码不要和js混合写

HTML:

<a href='#' class='flag' name='$files[id]' >
<img src='".$this->config->item('base_url')."/images/notflagged.png' data-src="<?php echo base_url().'images/flagged.png';?>" class='flagimg' />

jQuery:

$(".flag").on("click", function(e){
    var fileID = $(this).attr("name");
    var flag = $(this).children(".flagimg");
    flag.attr("src", flag.attr('data-img'));
    return false;
});
于 2012-12-25T01:12:44.483 回答
0

您的 src 引号是否输入错误?

改变

var src = '<?php echo base_url().'images/flagged.png';?>';

var src = "<?php echo base_url().'images/flagged.png';?>";
于 2016-04-04T06:27:41.070 回答