2011-07-07 65 views
0

我用Javascript創建了一個元素,並將它應用到另一個元素,我也有一個CSS文件,其中包含這個新元素的樣式,我檢查代碼,新元素存在並且有給定的ID和類名,但是我的CSS是不曾用過。代碼如下所示:未分配給JavaScript創建的元素的CSS - 爲什麼?

var mainDiv=document.createElement("DIV"); 
mainDiv.id="ambiVid_controls"; 
mainDiv.className="ambiVid_controls"; 

Conts.parentNode.appendChild(mainDiv); 

而CSS:

.ambiVid_controls{ 
    position:absolute !important; 
    bottom:15px ; 
    width:60% !important; 
    height:50px !important; 
    margin-left:50% !important; 
    background-color:#333 !important; 
    z-index:1000 !important; 

} 

任何人有這個原因被忽略,或者是有與ApplyChild和CSS任何已知問題的任何想法?

瀏覽器是Safari,如果這很重要。

+3

*「Amyome odea爲什麼這個igets被忽略了」*我很抱歉,但是認真地說,無論是在編輯區域還是在打樣區域,您都無法完成*僅僅一點校對? –

+1

我認爲我們需要更多的代碼。這看起來應該起作用。 – Matchu

+1

我同意。冒着聽起來沒用的風險,如果沒有在這個問題上花費精力,我爲什麼還要花費一些努力來回答問題? –

回答

0

你就不必添加className屬性,如果你的CSS被定義正是如此:

#ambiVid_controls 
{ 
    position:absolute !important; 
    bottom:15px ; 
    width:60% !important; 
    height:50px !important; 
    margin-left:50% !important; 
    background-color:#333 !important; 
    z-index:1000 !important;  
} 

這當然不會,如果要添加與該ID值的多個元素的工作。

編輯: 而不是:Conts.parentNode.appendChild(mainDiv); ..如果Conts是DOM中現有元素的ID,就像說DIV一樣,只需要做 Conts.appendChild(mainDiv);

+0

儘管OP可以使用ID,但這並沒有解決OP的問題。在這個問題中,OP顯然增加了一個與相關類名匹配的元素,它與所示的CSS相匹配。改變CSS使其與元素的ID相匹配不會有幫助。 –

+0

因此,目前我嘗試所有的建議沒有運氣,我從JS刪除ID,我還添加了一個選擇器到父母的CSS,我檢查Safari Inspector,一切都被正確添加,元素被創建,並在通緝位置,但未使用CSS,未應用CSS類,Element僅使用默認CSS或由Parents獲得... –

相關問題