工作,我有以下的jQuery功能:选择祖父母格不能在IE/Chrome的
function GetGrandparentDiv(item) {
return item.parents('div:eq(1)');
}
这是由下面的函数调用:
$(".addset").click(function(e){
e.preventDefault();
var addstr = "<span class='setrow'>random html</span>";
var gp = GetGrandparentDiv($(this));
alert(gp.attr('id'));
gp.find("div.esets").append(addstr);
});
正如你所看到的,我在那里卡住了一个警报。该代码在FireFox中非常有效,并显示了父级div的正确ID。但是,在IE和Chrome中,它不起作用。 IE/Chrome中警报框中的ID也为空或“”。
我在做一些IE/Chrome不支持的功能吗?
编辑:
的HTML看起来是对的效果(我没有它在我面前)
<div id="grandparent">
<div id="parent">
<input type="button" class="addset" value="Add Set" />
<!-- other stuff -->
</div>
<!-- other stuff -->
</div>
编辑: 这里的实际HTML,因为我现在有它在我面前:
<div id="random2" class="ebox">
<div class="ebheader">
<!-- text -->
<span class="right">
<input type="button" class="addset" value="Add Set"/>
</span>
</div>
<!-- other stuff -->
</div>
使用GetGrandparentDiv()功能在FF以外的任何其他功能都不起作用。具有讽刺意味的是,我在我的应用程序的其他区域使用该功能,并且它可以正常工作。
我最终什么事做的解决方案是以下几点:
var gp = $(this).closest(".ebox");
由于每个动态添加的“容器”如果你将有一个类类型.ebox的(因为我不知道的id该div,但我知道这个班)。感谢您的帮助和建议!
是您的代码withing一个$(文档).ready(... block? – karim79 2009-09-29 03:03:02
Yuppers。它位于$(document).ready()块内。 – MunkiPhD 2009-09-29 03:11:32
couldnotreproduce – ken 2009-09-30 04:20:03