我正在尝试更改图像HTML元素的源图像<img src="/some/dynamic/path"></img>
。
我如何获取this.id
非常复杂,超出了这个问题的上下文,但足以知道它是通过 PHP 获取的,并且在单击时,在列表项(此处未显示(上,标识符已经设置并可供使用。console.log
确保这一点。
问题是,当我单击该元素时,模态出现在我面前,但我看不到图像。通过在浏览器上调试,我注意到src
字段始终为空。
我想问题的原因可以在我发布的Javascript代码中找到。特别是,两条指令的执行在某种程度上是异步的。
对此,你怎么看?您需要更多详细信息吗?
模态代码:
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-body text-center">
<img id="modalImage" src="">
</div>
</div>
</div>
</div>
和JS代码:
$(".listShowCard").click(function() {
console.log("/images/cards/"+this.id+".png");
$("#modalImage").src="/images/cards/"+this.id+".png";
$("#myModal").modal('show');
});
使用:
document.getElementById('modalImage').src=`/images/cards/${this.id}.png`;
当你使用带有ID的元素时,尽量避免jQuery,因为调用比纯JS调用慢得多。
$("#modalImage").attr('src', "/images/cards/" + this.id + ".png")