访问元素
问题描述:
我有几个dinamically创建的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>
...
而且还有的iframe中的形式,会是这个样子:
<form id="(dinamic_id)" >
<input class="(class_input)" />
</form>
我的jQuery函数:
$(".class_input").change(function() {
$(this).closest("form").submit();
});
有,我想EXECUT其他行动e在父窗口上提交div中包含的与表单共享相同id的元素。我得这样父DIV中的HTML:
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());
或
var parent_div = $("div#"+$(this).closest("form").attr("id")+" .element_1", parent.document);
alert($(parent_div).html());
返回null而不是“这里有一些文字”。
答
尝试代码修改为以下内容:
var parent_div = $("div#"+$(this).closest("form").attr("id"), parent.document);
alert(parent_div.children('.element_1').text());
我敲了一个快速测试我的结束,所有工作得很好。
编辑:解释
的问题是,你试图引用parent_div
作为一个字符串,而实际上它是它自己的一个jQuery对象。
alert($(parent_div + " .element_1").html());
// ([object] + [string] )
+0
愚蠢的我,就是这样,谢谢! – Sandra 2012-02-05 15:50:24
您调试器给出了错误消息吗?你螨没有这个权利。 – jerone 2012-02-05 14:36:15