从iframe(jquery)访问父窗口的元素

从iframe(jquery)访问父窗口的元素,jquery,iframe,jquery-selectors,Jquery,Iframe,Jquery Selectors,我有几个DINAMICALL创建的div,其中包含相同的元素: <div id="(dinamic_id_1)"> <div class="(element_1)">Some text here</div> <input class="(element_2)" /> <iframe class="(element_3)" src="form.php?id=(dinamic_id_1)" /> </div&g

我有几个DINAMICALL创建的div,其中包含相同的元素:

<div id="(dinamic_id_1)">
    <div class="(element_1)">Some text here</div>
    <input class="(element_2)" />
    <iframe class="(element_3)" src="form.php?id=(dinamic_id_1)" />
</div>

<div id="(dinamic_id_2)">
    <div class="(element_1)">Some text here</div>
    <input class="(element_2)" />
    <iframe class="(element_3)" src="form.php?id=(dinamic_id_2)" />
</div>

...
我还想在父窗口上的submit上,在与表单共享相同id的div中包含的元素上执行其他操作。我得到了父div中的html,如下所示:

<form id="(dinamic_id)" >
    <input class="(class_input)" />
</form>
var parent_div = $("div#"+$(this).closest("form").attr("id"), parent.document);
alert($(parent_div).html());
但我无法访问div中的元素,例如:

var parent_div = $("div#"+$(this).closest("form").attr("id"), parent.document);
alert($(parent_div+" .element_1").html());


返回null而不是“此处的某些文本”。

尝试将代码修改为以下内容:

var parent_div = $("div#"+$(this).closest("form").attr("id"), parent.document);
alert(parent_div.children('.element_1').text());
我很快就完成了测试,一切都很顺利

编辑:解释

问题是您试图将
parent\u div
作为字符串引用,而实际上它本身就是一个jQuery对象

alert($(parent_div + " .element_1").html());
//     ( [object]  +    [string]  )

您是否给出了错误消息?你没有这个权利。
var parent_div = $("div#"+$(this).closest("form").attr("id"), parent.document);
alert(parent_div.children('.element_1').text());
alert($(parent_div + " .element_1").html());
//     ( [object]  +    [string]  )