【发布时间】:2019-06-05 20:02:10
【问题描述】:
我有多个带有图像的相同结构 div。现在我正在尝试获取被点击图像的 src。
我有多个结构如下的 div:
<div id="modal" class="model">
<img id="image" src= "<%= loop.url %>">
<div class="container">
<%- loop.title %>
</div>
</div>
我正在尝试获取单击的 div 图像的 src。我正在为此尝试以下代码:
document.querySelectorAll('.model').forEach(function(item) {
item.addEventListener('click', function() {
modal.style.display = "block";
captionText.innerHTML = document.getElementById("image").src;
});
});
但这只是为所有人提供我的第一张图片的 src,而不是为每张图片。
我是前端开发的新手,如果有任何帮助,我将不胜感激。
document.querySelectorAll('.model').forEach(function(item) {
item.addEventListener('click', function() {
modal.style.display = "block";
captionText.innerHTML = document.getElementById("image").src;
});
});
<div id="modal" class="model">
<img id="image" src= "<%= loop.url %>">
<div class="container">
<%- loop.title %>
</div>
</div>
【问题讨论】:
-
如果所有元素都有 id "image",那就很清楚了。 ID 是唯一的。除此之外,clickEvent 在“Event.target”中和“Event.target”中有一个“Event”参数是源元素。你应该使用那个
-
@RenéDatenschutz 但它只提供第一张图片的 src 而不是我点击的图片
-
@RenéDatenschutz 如何使用 Event.target 获取图像的 src
-
ID 应该是唯一的。 document.getElementById() 按照设计只返回一个元素。请参阅:developer.mozilla.org/en-US/docs/Web/API/Document/…。 “Document 方法 getElementById() 返回一个 Element 对象,该对象表示其 id 属性与指定字符串匹配的元素。由于元素 ID 在指定时必须是唯一的,因此它们是快速访问特定元素的有用方法。如果您需要访问没有 ID 的元素,您可以使用 querySelector() 使用任何选择器查找元素。"
标签: javascript html dom ejs