如何更改名称" data-original"没有ID的图像中的属性名称

时间:2016-06-28 00:02:26

标签: javascript jquery attributes

上下文:我正在尝试一种对我的设置不起作用的lazyload脚本的解决方法。

我不确定这是否切合实际,但这就是我的想法: 在标题部分单击,我想更改该部分中包含的图像的所有属性(因此图像显示)。

从data-original到src。

以下是我:

$('#s101').click(function(){

var a = $('#b01').next().find('img').attr("data-original");

// alert (a) // will give me the url of the attr. data-original: (http...)

x = a.getAttribute("data-original");
a.setAttribute("src", x);
a.removeAttribute("data-original");
                          });

这不起作用。你能帮忙吗?

2 个答案:

答案 0 :(得分:1)

试试这个

$('#b01').next().find('img').each(function(){
   $(this).attr("src", $(this).attr("data-original") ).removeAttr("data-original");
});

答案 1 :(得分:1)

跟随你的"点击"处理程序方法,你想做这样的事情......

$("#btnChangeImage").click(function(){
    var a = $("#myImg");

    var x = a.attr("data-original");
    a.attr("src", x);
    a.removeAttr("data-original");

});

基本上,问题是您尝试对属性而不是元素进行操作,然后一旦拥有该属性,您似乎正在使用旧的jQuery API版本。

在这里快速展示:https://plnkr.co/edit/3kZGz5kDLwaBDmGFzsWU?p=preview