2011-10-27 50 views
0

我遇到了絕對定位的自定義下拉問題,在IE7中,div位於普通文本框的後面,該文本框沒有以任何特殊方式定位。 我已閱讀過這個主題:IE7 puts absolutely positioned div underneath, ignores z-index但這些解決方案並沒有幫助我。絕對位置div位於IE7中的文本框後面

誰問上面的問題是,我的DIV正在通過JavaScript使用document.write並通過使用appendChild將它

addEvent(document.getElementById("storeDown"), "click", showRegions); 
var showRegions = function(e) { 
     var dd = getTarget(e); 
     if(document.getElementById("regionOptions")) { 
      dd.parentNode.removeChild(document.getElementById("regionOptions")); 
      regionsShowing = false; 
     } else { 
      var ddNode = document.createElement("div"); 
      ddNode.id = "regionOptions"; 
      ddNode.style.backgroundColor = offColor; 
      var optNode; 
      for(var region in storeList) { 
       optNode = document.createElement("div"); 
       optNode.innerHTML = region; 
       ddNode.appendChild(optNode); 
      } 
      dd.parentNode.appendChild(ddNode); 
      regionsShowing = true; 
     } 
     cancelEvent(e); 
    } 

我父div有一個z-index的創建我的代碼和人之間的區別500的位置相對和regionOptions是絕對定位,我試圖也添加一個z-索引,但它沒有什麼區別。

+0

你說它不同,它和你連接的一樣。給父節點一個z-index並將其設置爲相對。 – epascarello

+0

顯然它確實有區別,我已經在已經加載頁面並將索引分配給元素後追加它,請查看下面的答案,謝謝! – Reina

+0

我隨着動態內容一直在遇到問題。您的解決方案只是更改了內容加載的位置,所以您避免了這個問題。不知道你的HTML結構會使你的解決方案對其他人沒有幫助。 – epascarello

回答

0

好吧終於搞清楚了,我改變了它附加的地方,所以它在所有文本框(在我的情況下,一個按鈕div)後附加在頁面底部的div中,所以不是dd.parentNode.appendChild(ddNode),而是document.getElementbyId("buttons").appendChild(ddNode),但也必須改變CSS,所以它絕對定位在相對於頁面包裝器而不是特定的div中,並且它似乎已經修復了它。