在子iframe中使用父级的jquery

时间:2013-07-31 09:28:09

标签: javascript jquery iframe parent

我想在子iframe中使用jquery库。父窗口包含jquery库。 这是iframe中包含的脚本

$p=parent.window.$;
$p(document).ready(function (){
        console.log($p('#bla').val()); 
        console.log($p('#searchedCity').val());
    }
);

$p('#bla').val() - 我试图获取位于iframe中的输入文本字段的值。现在它返回undefined

$p('#searchedCity').val() - 这是来自父窗口的输入文本字段的值。并返回正确的值

当我将jquery库直接包含在iframe中时,$('#bla').val()工作正常。

我错过了什么?你能救我吗?

3 个答案:

答案 0 :(得分:0)

我不知道它是否也一样,但试试这个:

console.log($('#bla', p).val()); 
console.log($('#searchedCity', p).val());

答案 1 :(得分:0)

这是因为您在父容器中搜索元素$p('#bla') #bla。当前iframe中加载jquery并使用$ ..

$p=parent.window.$;
$p(document).ready(function (){
    console.log($('#bla').val()); 
    console.log($p('#searchedCity').val());
   }
);

并且是的,当父文件准备好时,你正在调用这些函数,这可能无法正常工作..

$(document).ready(function (){
    console.log($('#bla').val()); 
     $p=parent.window.$;
    console.log($p('#searchedCity').val());
   }
);

答案 2 :(得分:0)

试试这个:

$p=parent.window.$;
    $p(document).ready(function (){
        console.log($('#bla').val()); 
        console.log($p('#searchedCity').val());
    }
);