无法从iframe内部向iframe应用边框

时间:2015-04-14 13:35:58

标签: javascript jquery css iframe

我在iFrame中。我控制内/外/父/子内容,它们都在同一个域内。没有安全例外。

如果我在Chrome控制台中运行此功能,则边框应用完全符合我的要求:

$("[name='PPDGFrame']").css("border", "2px solid #334930");

然而,当我以编程方式执行相同的操作时,它永远不会起作用:

$(document).ready(function() {
       $("[name='PPDGFrame'], window.parent.document").css("border", "2px solid #334930");
});

甚至这个:

$(document).ready(function() {
    setTimeout(function(){
       $("[name='PPDGFrame'], window.parent.document").css("border", "2px solid #334930");
   }, 3000);
});

在代码中执行时,不存在任何错误,并且在Console中我清楚地获得了对象的句柄。仍然没有边界。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

要将window.parent.document指定为要在其中搜索的context for the selector,应将其作为字符串后面的单独参数传递。

$("[name='PPDGFrame']", window.parent.document)
//                   ^^

目前,在选择器中,,被理解为multiple selectorwindow.parent.document被视为element selector,其中class selectors正在搜索:

<window class="parent document">

它是一个有效的选择器,这就是您没有收到任何错误的原因。它只是没有匹配任何东西,因为你可能没有在你的文档中有这样的元素。