我在为纯 JavaScript 重写 jquery 时遇到问题
parent.$("#data-store").data('text')
我如何在 JS 中表达相同的内容?
我在为纯 JavaScript 重写 jquery 时遇到问题
parent.$("#data-store").data('text')
我如何在 JS 中表达相同的内容?
1)假设您的 jQuery 代码是
$("#data-store").data('text')
然后你可以在没有jQuery的情况下编写它
document.getElementById('data-store').dataset['text']
或与旧版本的 IE 兼容:
document.getElementById('data-store').getAttribute('data-text')
2)如果您从 iframe 访问父窗口的元素,并且假设您没有遇到任何跨域问题(即您的页面是从同一来源提供的),那么您可以这样做
window.parent.document.getElementById('data-store').getAttribute('data-text')
假设您没有通过 jQuery 设置数据:
parent.document.getElementById('data-store').getAttribute('data-text');
如果通过 jQuery 设置数据,它会存储在内部 jQuery 缓存中,而不是作为属性,如果不读取 jQuery 缓存对象,您将无法获取它。如果您有兴趣阅读内部 javascript 对象,它被命名为 jQuery.cache。