2012-11-15 36 views
-5

所以說我有:jQuery的附加元素不會出現風格

$('#content').append('<div id="groups" style="width: 300px; background-color: #888;"><ul class="leftnav" style="list-style-type: none;">'); 

然而,它沒有正確的風格,類也不本身的工作風格,它看起來像我只是做:

$('#content').append('<div id="groups"><ul>'); 

我傾向於使類風格工作,而不是使用風格=「」,因爲我有:懸停事件等等等

+2

不明白如何給你張貼的所有信息,這是可能的。你確定它沒有得到一些控制流,它只是吐出沒有任何樣式的HTML嗎? – SpaceBison

+0

要清楚你到底需要什麼? –

+0

如果追加一個類並在類上設置樣式,是否會發生同樣的事情? – threenplusone

回答

5

你寫的代碼將附加一個只包含空UL的DIV。該元素不會有高度,因此不會顯示背景顏色。樣式list-style-type: none;也將不可見,因爲您沒有列表項目。

如果您將項目添加到列表中,它們將具有您指定的樣式。

Demo

但是請注意,這append將插入實際DOM節點,不僅僅是HTML文本的碎片。這意味着$('<div>')將是一個實際的DIV,而不僅僅是一個開始標籤。

如果你希望你的標籤將被留在文檔中打開了,這樣你就可以在某種程度上只是去將元素添加到#contentin this manner,你會看到元素的#groups外面加(自組立即在UL之後關閉),並且您的樣式將不會被應用。

+0

我知道,我沒有包括整個代碼,它後來增加了東西,這只是一個開始。 – crazymao

+2

@ user1469988:您是否稍後再做一個append,將'li'項目添加到'#content',期望它們位於UL中,因爲UL沒有關閉?因爲這不是如何附加字符串的作品。 –

0

設置DIV

height:100px; // You will see the difference 
       // as the UL is currently empty 

您需要的div set the height,因爲它是靜態的,裏面的內容是空的高度..

+0

閉合標籤不是必需的,高度也需要一些解釋。 –

+0

@JanDvorak ..感謝您的洞察力..編輯帖子 –

0

您應該將結束標記。高度也相當的點

$('#content').append('<div id="groups" style="width: 300px; height:200px; background-color: #888;"><ul class="leftnav" style="list-style-type: none;"></ul></div>'); 
+0

雖然他們可以被認爲是一種很好的風格,結束標籤並不是必要的。 –

-2
$('#content').append('<div id="groups"><ul class="leftnav" style="list-style-type: none;"/></div>');​ 

代碼變更上述

http://jsfiddle.net/sameerast/U3qbB/1/

+0

您追加的代碼段不是有效的HTML。 –

+0

你說這樣的原因是什麼? –

+0

編輯完成後不再爲真 –