jquery - 单击某个图像后,如何更改另一个元素中的 img src 值
问题描述
单击 html 元素时,我希望正确显示该元素的数据属性,在本例中为图像。在这种情况下,我希望当单击 ken 时,他的 data-fighter 属性中的图像会替换 div.portrait 中的当前图像,即 ryup.png。
var name = $("#name");
var nation = $("#nation");
var style = $("#style");
var fighter = $("div.portrait img");
$("[data-name], [data-nation], [data-style], [data-
fighter]").click(function(){
name.html($(this).data().name);
nation.html($(this).data().nation);
style.html($(this).data().style);
// something needs to go here
});
<div class="portrait">
<img src="images/ryup.png" alt="Ryu" title="Ryu">
</div>
<img src="images/kens.png" alt="Ken" title="Ken" data-name=" Ken Masters"
data-nation=" American"
data-style=" Ansatsuken"
data-fighter="images/kenp.png">
解决方案
然后你应该替换src
属性,如:
fighter.prop('src', $(this).data('fighter'));
$("[data-name], [data-nation], [data-style], [data-fighter]").click(function() {
var name = $("#name");
var nation = $("#nation");
var style = $("#style");
var fighter = $("div.portrait img");
name.html($(this).data().name);
nation.html($(this).data().nation);
style.html($(this).data().style);
fighter.prop('src', $(this).data('fighter'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="portrait">
<img src="https://www.ssbwiki.com/images/thumb/3/32/Link_SSB4.png/100px-Link_SSB4.png" alt="Ryu" title="Ryu">
</div>
<img src="https://www.ssbwiki.com/images/thumb/6/63/Ryu_SSB4.png/100px-Ryu_SSB4.png" alt="Ken" title="Ken" data-name=" Ken Masters" data-nation=" American" data-style=" Ansatsuken" data-fighter="https://www.ssbwiki.com/images/thumb/6/63/Ryu_SSB4.png/100px-Ryu_SSB4.png">
推荐阅读
- reactjs - 我在 this.state 中得到了值,我正在过滤状态,但我得到的值为 null
- java - 在 JPA 中使用 nativeQuery 时出现“无法提取结果集”错误
- woocommerce - 在 woocommerce 中未显示可供选择的属性
- json - 如何将 JSON null 解码为空集合
- android - 如何在 Android 中使用 Circle CI 自动部署 Fabric Crashlytics Beta
- c# - 重载 RESTful Web API
- php - 是否可以像这样检查多个单选按钮?
- angular - 带有@angular/flex-layout、@angular/material 和带有图像的mat-card 的响应式网格?
- bash - 对一组文件使用命令并保存结果
- java - RestTemplate.exchange 即使变量注释了@NotNull,也会创建实例