javascript – 如何输入函数变体?

我怎样才能将var这个放入图片中的attr?

因为那被替换为inner
HTML

<!DOCTYPE html>
<html>
<head><script type="text/javascript" src="http://line25.com/wp-content/uploads/2010/jquery-lightbox/demo/js/jquery.js"></script>
</head>
<body>
<button href="http://allcartooncharacters.com/wp-content/uploads/2014/05/Tweety-310x310.png">Try it</button>

<p id="demo">
<img src="http://www.w3schools.com/jquery/img_pulpitrock.jpg" alt="Pulpit Rock" width="284" height="213">
</p>

<script>
$(document).ready(function() {
   $('button').click(function() {
       var this = $("button")[0].getAttribute("href"); 
       $("#demo img").attr("src", '+ var this +');
   });
});
</script>
</body>
</html>

如果我想添加加载功能怎么办?也许如果图像成功打开,加载将像这样消失

if (loading) {
    $(".loading-picture-gif").show();
} 
else {
    $(".loading-picture-gif").hide();
}

最佳答案 你不能将它用作变量名,即使你可以,也可能不是一个好主意.我会让你的代码如下所示

$("button").click(function() {
    var newSrc = $("button")[0].getAttribute("href");
    $("#demo img").attr("src", newSrc);
});

至于加载图像的隐藏/显示,您可以使用.on(“加载”…当您将图像的src属性更改为回调时.最终代码如下所示

$('button').click(function() {
    var newSrc = $("button")[0].getAttribute("href");
    $(".loading-picture-gif").show();
    $("#demo img").on("load", function() {
      $(".loading-picture-gif").hide();
    }).attr("src", newSrc);
});

Working Fiddle

点赞