首页 > 解决方案 > 从 iframe 中的 iframe 获取动态 id

问题描述

我实际上在做一个棘手的任务,我必须创建资源包(它们是网站上的页面),为此我使用 iframe 来显示页面的内容。但是我可以在一个 iframe 中有多个 iframe。

而且我想在 iframe 中的那些 iframe 上传递一些样式,所以我必须针对它们。

我为每个页面都有一个特殊的节点 ID,只允许我返回正文。

所以我的问题是如何在我的 iframe 中定位我的 iframe 的 id,我试图用该行var get_iframe_inside = search_inside.getElementsByTagName("iframe".id); 来修改它的样式。

我知道这条线我没有使用正确的方法,但是我今天早上一直在挠头,找不到方法。

    function test(id){
        var iframe = window.parent.document.getElementById(id); //select my first iframe
        get_iframe_inside(id); //call my function to get the iframe in the iframe
        function get_iframe_inside (id){
            var search_inside = (iframe.contentDocument) ?iframe.contentDocument : iframe.contentWindow.document;
//My goal is then to modify some properties
            var get_iframe_inside = search_inside.getElementsByTagName("iframe".id); 
            $(get_iframe_inside).css({'padding':'0px 50px', 'background-color':'#cecece'});
        }
        
   } 

标签: javascriptnode.jsiframe

解决方案


好吧,我的代码几乎可以正常工作,这有点微不足道,我只是不知道如何获取这些 ID。我只需要通过标签获取它们,然后使用 for 进行迭代。

       var get_iframe_inside = search_inside.getElementsByTagName("iframe");
    var i;
    for (i = 0; i < get_iframe_inside.length; i++){
        get_iframe_inside[i].style.padding='0px 50px';

推荐阅读