我在我的页面上直接打开的文件夹中有多个图像。 问题是我想得到这些生成的图像的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;
});
});
}
});
});
});
答案 0 :(得分:0)
您可以使用此操作
来查找生成的ID,而不是查找生成的IDstd::shared_ptr
上面的代码会将所需的值放到点击的图像上。
即使你想找到当前元素id,也要使用以下
std::unique
答案 1 :(得分:0)
您可以使用this.id
获取元素ID,同样使用.src
设置网址:
$('.elm').on('click', function() {
var id = this.id;
...
this.src = dir + filename;
});