Как получить динамический c атрибут данных через jQuery прослушиватель событий - PullRequest
0 голосов
/ 19 апреля 2020

Я создаю простое приложение для изучения mov ie jQuery, где пользователь может искать заголовки фильмов и затем получать дополнительную информацию о конкретном заголовке c после первоначального поиска. Мне нужно получить атрибут данных '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);
                    })
                 }

clickedMov ie возвращает неопределенное значение. Я также пытался использовать .attr () и получил тот же результат. Спасибо за любую помощь, спасибо.

1 Ответ

0 голосов
/ 19 апреля 2020

Предполагая такую ​​структуру:

<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'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...