jQuery链接点击更改图片(与id中的相同数字匹配)

时间:2009-08-17 21:00:36

标签: javascript jquery events

我得到了一个生成的链接列表,其中每个链接都有一个唯一的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">

由于

5 个答案:

答案 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")