[英]How to get variable id in $(variable).click, jquery
我在我的頁面上直接打開的文件夾中有多個圖像。 問題是我想得到這些生成的圖像的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不同。 這就是為什么我想通過圖片#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;
});
});
}
});
});
});
您可以使用此操作來處理類,而不是查找生成的ID
$('.elm').click(function(){
$(this).attr("src","_link_");
});
上面的代碼會將所需的值放到單擊的圖像上。
即使你想要找到當前元素id,仍然使用以下內容
$('.elm').click(function(){
var id = $(this).attr("id");
});
你可以使用this.id
來獲取元素的ID,同樣使用.src
來設置URL:
$('.elm').on('click', function() {
var id = this.id;
...
this.src = dir + filename;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.