如何在$(变量)中获取变量id .click,jquery

时间:2016-11-14 16:54:23

标签: javascript jquery html

我在我的页面上直接打开的文件夹中有多个图像。 问题是我想得到这些生成的图像的id,因为每个图像在css中具有特定的样式(高度,宽度,边距顶部等)。有了这个id,我想把它们放在我不同区域的页面上。

我想在$(变量).click中获取变量id,如果可能的话。

从这一行我生成图像

$("#bgaff1").append("<img src='" + dir + filename + "' class='elm' id='"+item+"'>");

在HTML代码中我有:

<img src="./img/catone/picture7.png" class="elm" id="picture7">

使用此代码,我只能获得class="elm",我不知道如何通过item变量获取生成的ID

$('.elm').click(function(){
    var pict1= document.getElementById("pict1"); 
    pict1.src= dir + filename;
});

我已经尝试过了:

$('.elm').click(function(){
    var pict1= document.getElementById("pict1"); pict1.src= dir + filename;
    var pict2= document.getElementById("pict2"); pict2.src= dir + filename;
});

但是这个代码在两个图像上都采用相同的样式,而它们的id不同。这就是为什么我想通过图片$('.elm')#pict1的唯一ID来强制#pict2 ...以一个不同的动作处理每个图像。

感谢您的帮助。

您可以在此处找到ajax代码:

$(document).ready(function() {
  $('.categorie').click(function() {
    var dir = ($(this).attr('value'));
    var fileextension = ".png";

    $.ajax({
      //This will retrieve the contents of the folder if the folder is configured as 'browsable'
      url: dir,
      success: function(data) {
        //List all .png file names in the page
        $('#bgaff1').empty();

        $(data).find("a:contains(" + fileextension + ")").each(function() {
          var filename = this.href.replace(window.location.host, "").replace("http://", "");
          var item = filename.replace('/', '').replace('.png', '');
          $("#bgaff1").append("<img src='" + dir + filename + "' class='elm' id='" + item + "'>");
          var filen = filename.replace(/[0-9]/g, "").replace('/', '').replace('.png', '');
          $('.elm').click(function() {
            var pict1 = document.getElementById("pict1");
            pict1.src = dir + filename;

          });
        });
      }
    });
  });
});

2 个答案:

答案 0 :(得分:0)

您可以使用此操作

来查找生成的ID,而不是查找生成的ID
std::shared_ptr

上面的代码会将所需的值放到点击的图像上。

即使你想找到当前元素id,也要使用以下

std::unique

答案 1 :(得分:0)

您可以使用this.id获取元素ID,同样使用.src设置网址:

$('.elm').on('click', function() {
    var id = this.id;

    ...
    this.src = dir + filename;
});