工作,我有以下的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