【问题标题】:Access Child iframe elements from parent page with jquery?使用jquery从父页面访问子iframe元素?
【发布时间】:2013-01-08 05:11:31
【问题描述】:

如何从父页面访问 Jquery UI 对话框中子 div 的元素?我正在使用以下代码..虽然使用其 id (#adduserframe) 访问 iframe,然后 .contents() 将完成工作.. 但它不起作用.. 我的 jquery 概念还不够好。谁能建议什么会给我带来我想要的结果?你能告诉我为什么我无法获取元素吗?

            $(document).ready(function(){
            var first_name = '';
            var middle_name = ''; 
            var last_name = '';
            var paginate_url='';
            $('#first_name,#middle_name,#last_name').bind( "change" ,function(){
                first_name = $.trim($('#first_name').val());
                middle_name = $.trim($('#middle_name').val()); 
                last_name = $.trim($('#last_name').val());
                paginate_url='autosuggestUsers.php?first_name=' + first_name + '&middle_name=' + middle_name + '&last_name=' + last_name;
                if( first_name!='' && middle_name!='' && last_name!='' ){

                    $('<div><iframe id="adduserframe" src="'+ paginate_url + '" height="300" width="478" frameborder="0" scrolling="no"></iframe></div>').dialog({
                        title: '<b>User(s) with a similar name</b>',
                        modal: true,
                        autoOpen: true,
                        height: 'auto',
                        width: 500,
                        resizable: false,
                        buttons: {
                            "Close": function(){                    
                                $(this).dialog('close');
                                return false;
                            }
                        }
                    });

                }else{
                    return false;
                }
            }); 

            $("#adduserframe").contents().find("img.addSweis").live("click",function(){
                alert('hey');
                var u_data = $(this).attr('rel');
                var rawParts = u_data.split("~~^^~~");
                $($("#adduserframe").contents().find("input#relative_id")).val(rawParts[0]);
                $($("#adduserframe").contents().find("input#first_name")).val(rawParts[1]);

                $(".ui-dialog-content").dialog('close');
            });

        });

【问题讨论】:

    标签: jquery jquery-ui iframe


    【解决方案1】:

    See : Access child iFrame DOM from parent page

    但它只有在所有脚本和 iframe 都在同一个域上时才有效。

    【讨论】:

    • 他们在同一个域.. 谢谢!
    • 所以你可以使用$("#adduserframe").contents()访问它,它是否返回一个对象?
    • 我不知道。我可以用什么来查看它是否返回一个?但是,简单的警报不起作用..所以我认为它根本不起作用..
    • 只要 alert('$("#adduserframe").contents()'); 如果它返回 null 那么我认为你的 iframe 在 dom 中还不存在,你正在尝试访问它
    • 有任何与此相关的 HTML 吗?
    猜你喜欢
    • 1970-01-01
    • 2011-08-09
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 2012-05-31
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多