使用 jQuery 选择 iframe 中的元素

发布于 2024-11-15 03:33:39 字数 351 浏览 2 评论 0原文

在我们的应用程序中,我们解析网页并将其加载到 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

南风几经秋 2024-11-22 03:33:39
var iframe = $('iframe'); // or some other selector to get the iframe
$('[tokenid=' + token + ']', iframe.contents()).addClass('border');

另请注意,如果此 iframe 的 src 指向不同的域,出于安全原因,您将无法在 javascript 中访问此 iframe 的内容。

var iframe = $('iframe'); // or some other selector to get the iframe
$('[tokenid=' + token + ']', iframe.contents()).addClass('border');

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.

绿光 2024-11-22 03:33:39

看看这篇文章:http://praveenbattula。 blogspot.com/2009/09/access-iframe-content-using-jquery.html

$("#iframeID").contents().find("[tokenid=" + token + "]").html();

将选择器放入 find 方法中。

但是,如果 iframe 不是来自您的服务器,则这可能是不可能的。其他帖子讨论了权限被拒绝的错误。

jQuery/JavaScript:访问 iframe 的内容

Take a look at this post: http://praveenbattula.blogspot.com/2009/09/access-iframe-content-using-jquery.html

$("#iframeID").contents().find("[tokenid=" + token + "]").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

地狱即天堂 2024-11-22 03:33:39

当您的文档准备就绪时,并不意味着您的 iframe 也已准备就绪,
所以你应该监听 iframe 加载事件然后访问你的内容:

$(function() {
    $("#my-iframe").bind("load",function(){
        $(this).contents().find("[tokenid=" + token + "]").html();
    });
});

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:

$(function() {
    $("#my-iframe").bind("load",function(){
        $(this).contents().find("[tokenid=" + token + "]").html();
    });
});
旧情别恋 2024-11-22 03:33:39

如果情况是通过控制台访问 IFrame,例如 Chrome 开发工具,那么您只需通过下拉列表选择 DOM 请求的上下文(见图)。

Chrome Dev工具 - 选择 iFrame

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).

Chrome Dev Tools - Selecting the iFrame

眼睛会笑 2024-11-22 03:33:39

这是简单的 JQuery 来执行此操作,使 div 仅可在容器中拖动:

$("#containerdiv div").draggable( {containment: "#containerdiv ", scroll: false} );

here is simple JQuery to do this to make div draggable with in only container :

$("#containerdiv div").draggable( {containment: "#containerdiv ", scroll: false} );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文