$(这个)没有't在onClick事件中不再工作

$(this) doesn't works anymore in onClick event

本文关键字:onClick 事件 工作 不再 这个 没有      更新时间:2024-06-03

我有这个jQuery,它只在文档准备好时工作:

$( ".product_imgfiles a" ).click(function(event) {
    var img_file = $( this ).children( "img" ).attr( "src" );
});

但是,当我需要将该事件应用于附加的元素时,我需要将我的代码更改为:

$(document).on("click", ".product_imgfiles a", function() {
    var img_file = $( this ).children( "img" ).attr( "src" );
});

它是有效的。。但CCD_ 1变量不存在。我相信这是因为$(this)不再适用于我的第二个代码。在这种情况下,如何进行选择以获得src属性?

谢谢。

img是单击的锚点的上一个同级

  $(document).on("click", ".product_imgfiles a", function(e) {
    e.preventDefault();
    var img_file = $(this).prev("img").attr("src");
    alert(img_file)
  });

$(document).ready(function() {
  $('#product_imgfiles_container').on("click", ".product_imgfiles a", function(e) {
    e.preventDefault();
    var img_file = $(this).prev("img").attr("src");
    alert(img_file)
  });
  $("#product_imgfiles_container").append("<div class='col-xs-4 col-md-2'><div class='thumbnail product_imgfiles'><img src='+val+'><a href=''>delete</a></div></div>");
  $("#product_imgfiles_container").append("<div class='col-xs-4 col-md-2'><div class='thumbnail product_imgfiles'><img src='+val+'><a href=''>delete</a></div></div>");
  $("#product_imgfiles_container").append("<div class='col-xs-4 col-md-2'><div class='thumbnail product_imgfiles'><img src='+val+'><a href=''>delete</a></div></div>");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="product_imgfiles_container">
</div>