繁体   English   中英

如何通过 jQuery 事件监听器获取动态数据属性

[英]How to Get dynamic data attribute through jQuery event listener

我正在创建一个学习 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 返回未定义。 我也尝试过 using.attr() 并得到相同的结果。 非常感谢任何帮助,谢谢。

假设这样的结构:

<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'小写字母

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM