When iterating over some DOM elements I found it impossible to use .data or .attr on them:
$('.running').each (index, element) =>
console.log element.closest('[data-id]')
gets me
<section class="job-block" data-id="240"></section>
...
but
$('.running').each (index, element) =>
console.log element.closest('[data-id]').data('id')
throws
Uncaught TypeError: element.closest(...).data is not a function
The closest()
method that you are using is native JS method and which returns DOM element object since element
refers DOM element object.
dataset
property :
$('.running').each (index, element) =>
console.log element.closest('[data-id]').dataset.id
data()
method.
$('.running').each (index, element) =>
console.log $(element.closest('[data-id]')).data('id')
element
by jQuery and use jQuery closest()
method.
$('.running').each (index, element) =>
console.log $(element).closest('[data-id]').data('id')
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加