【发布时间】:2021-04-21 15:25:07
【问题描述】:
我正在处理 API 和动态创建的 HTML 代码
<li class="d-flex align-item-center movieId">
<a class=" d-flex w-100" data-mov="${res[i].id}">
<img src="https://image.tmdb.org/t/p/w500${res[i].poster_path}" class="img-fluid himg"
alt="${res[i].title}" style="width:60px; height:70px">
<p class=" p-3"> ${res[i].title}</p>
</a>
</li>
我希望当我点击<a> 标签时我得到data-mov 属性值...我确实解决了它,但是当我点击<a> 中的任何元素时,比如<img> 和<p> data-mov 没有得到值。但是,这些元素在里面。
这就是我想要做的事情
$(".srearchResults ul").on("click", "a", function (event) {
let id = event.target.getAttribute("data-mov");
console.log(id);
//$(this).find("a").data("mov");
//$(this).find("a").attr("data-mov");
});
我使用的两行注释但未定义。当点击 <p> 或 <img> 时我得到 null 有什么解决方案?
【问题讨论】:
-
“a”在您的点击中有何作用?
-
你能做一个小提琴吗?
-
let id = $(this).data("mov"); -
使用
event.currentTarget获取监听器所附加的元素。
标签: javascript html jquery ecmascript-6