我在一个div里面有个图像。下面是当前的div结构。
<div id="imgHolder">
<img class="smallthumb" src="imgHolder.png">
</div>如何使用jquery调用映像并获得与上面相同的输出?
我试过这个:
$('#imgHolder').attr("src", "profile.png");但最后的输出是:
<div id="imgHolder" class="smallthumb" src="imgHolder.png"></div>发布于 2015-08-26 03:41:24
imgHolder是div元素的ID,因此#imgHolder将引用div元素,这就是为什么要将src添加到div元素的原因。
您需要在div中找到图像,这样您就可以使用一个子代选择器和id选择器,例如
$('#imgHolder img').attr("src", "profile.png");
$('button').click(function() {
$('#imgHolder img').attr("src", "//placehold.it/64X64&text=profile");
})<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="imgHolder">
<img class="smallthumb" src="//placehold.it/64X64&text=holder">
</div>
<button>Change</button>
发布于 2015-08-26 03:42:13
您需要选择img来更改img的属性。
$('#imgHolder img').attr("src", "profile.png");由于img是div的直接子级,所以也可以使用子>选择器。
$('#imgHolder>img').attr("src", "profile.png");Demo
$('#imgHolder > img').attr('src', 'profile.png');<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<div id="imgHolder">
<img class="smallthumb" src="imgHolder.png">
</div>
更新
如果要动态添加图像:
$('#imgHolder').html('<img src="http://img42.com/kzCbY+" />');发布于 2015-08-26 03:42:23
您可以使用.find来查找如下所示的任何后代:
$('#imgHolder').find('img').attr("src", "profile.png");https://stackoverflow.com/questions/32217614
复制相似问题