从iFrame中引用div

时间:2012-02-02 07:21:20

标签: jquery iframe html

我正在开发一个应用程序,我需要将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是否已加载,并且它有......)

关于前两个答案,我不太清楚,可能:我正在尝试更改中的div iFrame。不在父窗口中,而是从iframe中的脚本到同一iframe中的div。这就是为什么我发现它无法正常工作的原因......

有人可以对此有所了解吗? :)

的问候,

4 个答案:

答案 0 :(得分:1)

如果我有正确的话题开始 - 你应该在iframe内部使用的 html-page中再次包含jQuery libary,这样你就可以用它来操作子进程了文件

答案 1 :(得分:0)

您是否尝试在iframe中调用父级中的DIV?你需要打电话给父母。$ instead:

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

答案 2 :(得分:0)

尝试:

$('#test', top.document).css("background-color","red");

或者我不明白你的问题?

答案 3 :(得分:0)

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