从iframe(jquery)访问父窗口的元素
我有几个DINAMICALL创建的div,其中包含相同的元素:从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
<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] )