2016-11-14 66 views
3

我在我的頁面上直接打開的文件夾中有多個圖像。 問題是我想獲得這些生成的圖像的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可變

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

我已經試過這讓生成的ID:

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

但是,這段代碼在兩個圖像上放置相同的樣式,但它們不是相同的ID。這就是爲什麼我想通過圖片#pict1,#pict2 ...的唯一ID強制$('.elm') ...以一個不同的動作處理每個圖像。

謝謝你的幫助。

您可以找到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; 

      }); 
     }); 
     } 
    }); 
    }); 
}); 
+3

使用'this'的實例 - '$('。elm')。click(function(){console.log(this.id)});' – tymeJV

回答

0

相反特林找到生成的ID,你可以使用類工作,此操作

$('.elm').click(function(){ 
    $(this).attr("src","_link_"); 
}); 

上面的代碼就會把所需的價值點擊圖像。

即使如此,如果你想找到當前元素的ID,使用以下

$('.elm').click(function(){ 
    var id = $(this).attr("id"); 
}); 
+0

請改用'this.id'! – Alnitak

0

你可以使用this.id來獲取元素的ID,同樣使用.src設置URL:

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

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