Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 从iFrame中引用div_Jquery_Iframe_Html - Fatal编程技术网

Jquery 从iFrame中引用div

Jquery 从iFrame中引用div,jquery,iframe,html,Jquery,Iframe,Html,我正在开发一个应用程序,需要在其中将HTML/JS写入iframe。我选择了iframe,因为我认为它会有自己的名称空间等,所以我不会在JS变量名等方面产生冲突 但是现在,我尝试从iframe的JS中引用一个div,通过它的ID。在框架中,我有一个按钮,它调用一个函数: function colorDiv(){ $("#test").css("background-color","red"); }; 在家长中,这是可行的-没问题。(当然,这是一个基本的测试场景。我想在这个div中用high

我正在开发一个应用程序,需要在其中将HTML/JS写入iframe。我选择了iframe,因为我认为它会有自己的名称空间等,所以我不会在JS变量名等方面产生冲突

但是现在,我尝试从iframe的JS中引用一个div,通过它的ID。在框架中,我有一个按钮,它调用一个函数:

function colorDiv(){
  $("#test").css("background-color","red");
};
在家长中,这是可行的-没问题。(当然,这是一个基本的测试场景。我想在这个div中用highcharts编写一个图表。这不起作用,我正在试图找出原因。)

但在iframe中,这不会压缩。这个div没有上色。调用函数时,没有错误-但也没有颜色

(这可能有助于判断父级中也有一个名为'test'的div。但这不会着色,如果我计算函数colorDiv中'div#test'的数量,它将返回1。。。 我还检查了jquery是否已加载,它是否已加载…)

关于前两个答案,我还不够清楚,可能是:我试图在iFrame中更改div。不在父窗口中,而是从iframe中的脚本到同一iframe中的div。这就是为什么我发现这不起作用是如此令人惊讶……

有人能解释一下吗?:)

问候,


Paul

是否尝试从iframe中调用父级中的DIV?您需要呼叫家长。$而不是:

parent.$("#test").css("background-color","red");

您正在尝试从iframe中调用父级中的DIV吗?您需要呼叫家长。$而不是:

parent.$("#test").css("background-color","red");
尝试:

或者我不明白你的问题?

试试:

function colorDiv(){
  window.opener.$("#test").css("background-color","red");
};

或者我不明白您的问题?

如果我正确地理解了topicstarter-您应该在iframe中使用的html页面中再次包含jQuery库,因此,如果我正确选择了topicstarter,您可以在子文档中使用它进行操作,您应该在iframe中使用的html页面中再次包含jQuery库,这样您就可以在子文档中使用它进行操作了

您是否引用了iframe中的jquery?您是否引用了iframe中的jquery?澄清了我试图在同一iframe中更改div。。。因此top.document将引用iFrame的父级,这不是我想要更改的…澄清了我正在尝试更改同一iFrame中的div。。。所以top.document将引用iFrame的父级,这不是我想要更改的。。。
function colorDiv(){
  window.opener.$("#test").css("background-color","red");
};