The*_* Oz 6 javascript jquery coffeescript
迭代一些DOM元素时,我发现不可能在它们上使用.data或.attr:
$('.running').each (index, element) =>
console.log element.closest('[data-id]')
Run Code Online (Sandbox Code Playgroud)
抓住我
<section class="job-block" data-id="240"></section>
...
Run Code Online (Sandbox Code Playgroud)
但
$('.running').each (index, element) =>
console.log element.closest('[data-id]').data('id')
Run Code Online (Sandbox Code Playgroud)
投
未捕获的TypeError:element.closest(...).data不是函数
closest()您使用的方法是原生 JS 方法,它返回 DOM 元素对象,因为element引用了 DOM 元素对象。
datasetproperty获取:
$('.running').each (index, element) =>
console.log element.closest('[data-id]').dataset.id
Run Code Online (Sandbox Code Playgroud)
data()方法。
$('.running').each (index, element) =>
console.log $(element.closest('[data-id]')).data('id')
Run Code Online (Sandbox Code Playgroud)
element用 jQuery包装并使用 jQueryclosest()方法。
$('.running').each (index, element) =>
console.log $(element).closest('[data-id]').data('id')
Run Code Online (Sandbox Code Playgroud)