2010-05-04 46 views
1

嘗試編寫跨瀏覽器腳本時遇到了一個奇怪的問題。基本上我的頭看起來像這樣Chrome:動態創建<style>標記沒有內容?

<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
</head> 

然後在身體標記:

<p id="hey">Hey</p> 
<input type="button" value="attachStyle" name="attachStyle" onclick="attachStyle();"></input> 
<script> 
function attachStyle() { 
    var strVar=""; 
    strVar += "<style type='text\/css'>#hey {border:5px solid red;}<\/script>"; 
    $("head").append(strVar); 
} 
</script> 

按鈕在Firefox工作,但無法在Chrome。當我看着在開發者工具中的HTML DOM元素,風格標籤插入但沒有內容,就像這樣:

<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<style type='text/css'></script> 
</head> 

我很好奇,是什麼原因造成的?以及如何以跨瀏覽器的方式創建CSS樣式?謝謝!

回答

3
<style type='text/css'></script> 

您從一個「樣式」標籤開始,並用「腳本」關閉它。錯誤的標籤! :P

+0

神聖莫里...並想我花了20分鐘試圖隔離問題,做一個新的HTML文件,測試它,然後格式化代碼和帖子,沒有意識到這一點。我現在感到如​​此愚蠢。但謝謝指出。我擁有。 =]我投票結束這個問題。或者我應該刪除它? – Dan7 2010-05-04 10:42:06

+0

保持它,它會顯示其他人搜索,有時你只需要仔細閱讀你的代碼:) – Kyle 2010-05-04 10:49:11