我想将类.viewer
的{{1}}属性的第一个元素更改为它的src
属性的值。明显的代码不起作用:
data-src
从SO上阅读其他问题,我发现你必须这样做:
$(".viewer").first().show().attr('src', $(this).attr('data-src'));
它确实有效,我确实理解为什么($(".viewer").first().show().each(function(){
$(this).attr('src', $(this).attr('data-src'));
});
没有引用this
范围之外的元素 - 但运行.each
似乎很奇怪在您使用.each()
之后。
是否有更简洁的方法来编写上述代码?
答案 0 :(得分:3)
将要重复使用的数据存储在变量中。
var viewer = $(".viewer").first().show();
viewer.attr('src', viewer.data('src'));
答案 1 :(得分:2)
您可以随时使用变量:
var elem = $(".viewer").first();
elem.show().attr('src', elem.attr('data-src'));