无法从 iframe 内部将边框应用于 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);
});

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

我做错了什么?

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

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

目前,在选择器中,,被理解为多个选择器,window.parent.document被理解为元素选择器,类选择器搜索:

<window class="parent document">

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

最新更新