使用 jQuery 选择 iframe 中的元素
在我们的应用程序中,我们解析网页并将其加载到 iframe 中的另一个页面中。该加载页面中的所有元素都有其令牌 ID。我需要通过这些令牌 ID 选择元素。意思是 - 我点击主页上的一个元素,然后在 iframe 的页面中选择相应的元素。在 jQuery 的帮助下,我按照以下方式执行此操作:
function selectElement(token) {
$('[tokenid=' + token + ']').addClass('border');
}
但是,使用此函数,我只能选择当前页面中的元素,而不能选择 iFrame 中的元素。谁能告诉我如何选择加载的 iFrame 中的元素?
谢谢。
In our application, we parse a web page and load it into another page in an iframe. All the elements in that loaded page have their token IDs. I need to select the elements by those token IDs. Means - I click on an element on the main page and select corresponding element in the page in the iframe. With the help of jQuery I'm doing it in the following way:
function selectElement(token) {
$('[tokenid=' + token + ']').addClass('border');
}
However with this function I can select the elements in the current page only, not in the iFrame. Could anybody tell me how can I select the elements in the loaded iFrame?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
另请注意,如果此 iframe 的 src 指向不同的域,出于安全原因,您将无法在 javascript 中访问此 iframe 的内容。
Also note that if the
src
of this iframe is pointing to a different domain, due to security reasons, you will not be able to access the contents of this iframe in javascript.看看这篇文章:http://praveenbattula。 blogspot.com/2009/09/access-iframe-content-using-jquery.html
将选择器放入 find 方法中。
但是,如果 iframe 不是来自您的服务器,则这可能是不可能的。其他帖子讨论了权限被拒绝的错误。
jQuery/JavaScript:访问 iframe 的内容
Take a look at this post: http://praveenbattula.blogspot.com/2009/09/access-iframe-content-using-jquery.html
Place your selector in the find method.
This may not be possible however if the iframe is not coming from your server. Other posts talk about permission denied errors.
jQuery/JavaScript: accessing contents of an iframe
当您的文档准备就绪时,并不意味着您的 iframe 也已准备就绪,
所以你应该监听 iframe 加载事件然后访问你的内容:
when your document is ready that doesn't mean that your iframe is ready too,
so you should listen to the iframe load event then access your contents:
如果情况是通过控制台访问 IFrame,例如 Chrome 开发工具,那么您只需通过下拉列表选择 DOM 请求的上下文(见图)。
If the case is accessing the IFrame via console, e. g. Chrome Dev Tools then you can just select the context of DOM requests via dropdown (see the picture).
这是简单的 JQuery 来执行此操作,使 div 仅可在容器中拖动:
here is simple JQuery to do this to make div draggable with in only container :