我需要从 event.latedTarget 检索 data-url 属性的值
我尝试了很多方法:
e.relatedTarget.data('url')
e.relatedTarget.attr('url')
e.relatedTarget.prop('url')
但它总是返回错误.. 但值(value)就在那里:
如何找回它? 谢谢! 乔
最佳答案
由于您直接访问事件对象本身,jQuery 的 attr()
和 prop()
方法在这里不起作用,因为这不是 jQuery 对象。您会注意到事件对象上也没有 data
键,而是称为 dataset
键。此外,这不是一个函数,因此 ()
括号在这里不会实现任何功能。
您需要使用:而不是e.latedTarget.data('url')
:
e.relatedTarget.dataset['url']
或者:
e.relatedTarget.dataset.url
值得注意的是,这比将事件对象转换为 jQuery 对象并调用 jQuery 函数之一的性能要好得多,正如这里的其他答案所建议的那样,因为您拥有所有属性。 jQuery 要做的就是将其转换回您已经拥有的对象,并以与我上面包含的方式非常相似的方式访问该属性,因此您最终不会从 A 到 B,而是从 A 到C 然后返回 A 到 B。
关于jquery 检索 relatedTarget.data ('url' )值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40173242/