我得到了一个生成的链接列表,其中每个链接都有一个唯一的id(数字)和一个名为“load”的类。
我想更改页面另一侧的图片,其ID与我点击的链接中的编号相同。由于元素上的id是唯一的,我在所有图像的前面添加了folderid [number]
这是我到目前为止(不工作)。我不确定这是否接近正确,但感觉就像它一样:)
$(function(){
$(".load").click(function(){
var element = $(this);
var link_id = element.attr("id");
alert(link_id);
$("#folderid", link_id).attr("src", "img/folder_open.gif")
});
});
我的图片和链接在代码中如下所示:
<img src="img/folder.gif" id="folderid5" class="img_folder" alt="Folder"/>
<a href="#" id="5" class="load img_id5">
由于
答案 0 :(得分:2)
看起来你的意思是选择
$('#folderid' + link_id).attr(...)
答案 1 :(得分:0)
http://docs.jquery.com/Events/live应该为生成的东西做诀窍。 另外:在attr(...,...)之后添加分号(;)
$("#folderid", link_id).attr("src", "img/folder_open.gif");
答案 2 :(得分:0)
如果您的意思是您的图片的ID为:
folderid [1],folderid [2]等
'['字符可能与jQuery有问题。您可以尝试转义并使用:
$("img#folderid\\["+link_id+"\\]").attr("src", "img/folder_open.gif");
之前我没有必要在jQuery中转义字符,因为我可以简单地改变我的命名约定,但我相信上面的内容应该有效。
另一种方法是从ID中删除括号并使用:
$("img#folderid"+link_id).attr("src", "img/folder_open.gif");
答案 3 :(得分:0)
你很亲密。您需要将id连接到图像的选择器而不是使用逗号。试试这段代码:
$(function(){
$(".load").click(function(){
var element = $(this);
var link_id = element.attr("id");
alert(link_id);
$("#folderid" + link_id).attr("src", "img/folder_open.gif")
});
});
答案 4 :(得分:0)
我认为你需要一个+而不是,在这一行:
$("#folderid", link_id).attr("src", "img/folder_open.gif")
到
$("#folderid" + link_id).attr("src", "img/folder_open.gif")