jquery 检索 relatedTarget.data ('url' )值

标签 jquery custom-data-attribute

我需要从 event.latedTarget 检索 data-url 属性的值

我尝试了很多方法:

e.relatedTarget.data('url')
e.relatedTarget.attr('url')
e.relatedTarget.prop('url')

但它总是返回错误.. 但值(value)就在那里:

screenshot

如何找回它? 谢谢! 乔

最佳答案

由于您直接访问事件对象本身,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/

相关文章:

javascript - 将选定的数据发送回原始窗口

asp.net-mvc - JSON 序列化,返回带有破折号的键?

javascript - jquery中的append()不会第二次追加文件

jquery - jQuery播放/暂停替换文本并还原文本

javascript - 点击时响应式滑动

javascript - 如何根据数据属性获取 HTML 选择更改事件来触发 DIV 的显示/隐藏?

jquery - 如何保留数据属性的大小写?

javascript - 你能推荐一些处理图片上传/删除/修改的 jQuery/Javascript 插件吗?

javascript - 使用 jquery 根据输入文本框更改和显示 [删除/添加] 可用选项

javascript - 选择具有数据名称的所有标签 - 获取值 - 设置类