我正在创建一个简单的电影应用程序学习jQuery,用户可以在其中查找电影的标题,然后在初始搜索后获得有关特定标题的更多信息。我需要获取数据属性'movieId‘来进行第二次搜索。这是我的代码。
<tr class="row">
<td data-movieId="${movieId}">
<p class="movie-title"><a href="#">${movie.title}</a></p>
<p class="release-date">${releaseDate}</p>
<p>${movie.overview}</p>
</td>
<td><img class="poster-image movie-poster" src="${posterBaseUrl +
movie.poster_path}" alt=""></td>
</tr>
function clickOnMovieTitle() {
$('.content').on('click', function(event) {
event.preventDefault();
let clickedMovie = $(event.currentTarget).closest('td').data('movieId')
movieApiReq(clickedMovie);
})
}clickedMovie返回未定义的。我也尝试过使用.attr(),也得到了同样的结果。非常感谢您的帮助,谢谢。
发布于 2020-04-20 01:49:48
假设结构是这样的:
<table>
<tbody>
<tr class="row">
<td data-movieId="${movieId}">
<p class="movie-title"><a href="#">${movie.title}</a></p>
<p class="release-date">${releaseDate}</p>
<p>${movie.overview}</p>
</td>
<td><img class="poster-image movie-poster" src="${posterBaseUrl +
movie.poster_path}" alt=""></td>
</tr>
</tbody>
</table>你可以这样做:
$('.row').on('click', function(event) {
event.preventDefault();
let td = $(event.target).closest('td')[0];
let movieId = $(td).data('movieid');
console.log(movieId);
})请注意'movieid'的小写。
https://stackoverflow.com/questions/61308697
复制相似问题