图像id传入查找选择器jquery问题

时间:2018-05-21 05:41:16

标签: javascript jquery css image src

this is working snippet 我必须动态地在find()选择器中传递一些值来更改图像,所以我试图像下面那样传递。

 $('.vd-accordion-grid .collapse').on('shown.bs.collapse', function() {
            var imageid=$(this).parent().find("img").attr("id");
            var crid='img#'+imageid;
        alert("image id :::   "+imageid);
        alert("crid::   "+crid);
           $(this).parent().find(crid).attr("src", "resources/vidal/images/accordion_down.svg");
        }).on('hidden.bs.collapse', function() {
           $(this).parent().find(crid).attr("src", "resources/vidal/images/accordion_right.svg");
       });

但图像没有变化,但是当我在查找中难以编码图像的id时,图像成功更改。

 $(this).parent().find('img#picid0').attr("src", "resources/vidal/images/accordion_down.svg");

其实我在java custome标签中写了html代码,请在下面找到。

"<a data-toggle=\"collapse\" href=\"#collapse"+iClauseCnt+"\" aria-expanded=\"true\" aria-controls=\"collapse"+iClauseCnt+"\" class=\"\" style=\"color:white;font-size: 15px;\">");
                         "<img id=\"picid"+iClauseCnt+"\" src=\""+webcontext+"/resources/vidal/images/accordion_down.svg\" alt=\"accordion_down\">");
                         ""+eleClause.valueOf("@name"));
                         "</a>");

2 个答案:

答案 0 :(得分:3)

你的代码很好,只需要考虑一件小事 在on(&#39; hidden.bs.collapse&#39;)回调函数中,变量crid是&#34; undefined&#34;因为它没有在这个函数的范围内声明

检查以下代码

 $('.vd-accordion-grid .collapse').on('shown.bs.collapse', function() {
        var imageid=$(this).parent().find("img").attr("id");
        var crid='img#'+imageid;
    alert("image id :::   "+imageid);
    alert("crid::   "+crid);
       $(this).parent().find(crid).attr("src", "resources/vidal/images/accordion_down.svg");
    }).on('hidden.bs.collapse', function() {
       // crid here was undefined <======================
       var imageid=$(this).parent().find("img").attr("id");
       var crid='img#'+imageid;
       $(this).parent().find(crid).attr("src", "resources/vidal/images/accordion_right.svg");
   });

让我知道它是怎么回事

答案 1 :(得分:0)

请试试这个:

  

你的代码是对的,我认为你没有正确的图片ID。请   看看吧。

请添加如下:

$(this).parent().find('img#'+imageid).attr("src", "resources/vidal/images/accordion_down.svg");