-1

我在为纯 JavaScript 重写 jquery 时遇到问题

parent.$("#data-store").data('text')

我如何在 JS 中表达相同的内容?

4

2 回答 2

3

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')
于 2013-10-19T13:55:55.527 回答
3

假设您没有通过 jQuery 设置数据:

parent.document.getElementById('data-store').getAttribute('data-text');

如果通过 jQuery 设置数据,它会存储在内部 jQuery 缓存中,而不是作为属性,如果不读取 jQuery 缓存对象,您将无法获取它。如果您有兴趣阅读内部 javascript 对象,它被命名为 jQuery.cache。

于 2013-10-19T13:59:32.250 回答