0

了解しました。クリックされたリンクがあります...クリックされたら、「a」属性内にあるimgsrcを変更します。これが私が持っているものです

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 に答える