2011-09-09 45 views
1

我希望能夠得到下面的代碼工作:
如何使用ID選擇器創建動態樣式表?

var head = document.getElementsByTagName("head")[0]; 
var style = document.createElement("style"); 

style.type = "text/css"; 
style.media = "print"; 
style.styleSheet.cssText = "#menu {display:none;}"; 
head.appendChild(style); 
window.print(); 

的問題是,它與下面的樣式結束:
UNKNOWN {顯示:無;}

我我們也嘗試過使用addRule來獲得相同的結果,實際上它帶有「無效參數」的錯誤,沒有任何設置。

我想要完成的是動態地隱藏給定頁面中的某些元素而不打印,這些元素使用不同的標籤,格式和類,所以沒有通用的方法來排除它們(至少我是可以想到)而不使用ID選擇器。

這是針對使用IE7的Intranet上的業務應用程序。

我目前唯一的解決方法是將這些信息發送給ASP,然後將其作爲樣式表返回,因此我可以將它用作href樣式表,因爲這是我所能想到的使用ID選擇器動態創建樣式表。

在此先感謝。

回答

0

嘗試:

var head = document.getElementsByTagName("head")[0]; 
var style = document.createElement("style"); 
style.type = "text/css"; 
style.media = "print"; 
style.text = "#menu {display:none;}"; 
head.appendChild(style); 
0

對我來說,它的作品,如果你只使用.innerHTML。儘管我使用的是Chrome,但它看起來像使用Internet Explorer。儘管如此,使用.innerHTML,您可以簡單地設置內容(即在<style></style>之間)。

var head = document.getElementsByTagName("head")[0]; 
var style = document.createElement("style"); 

style.type = "text/css"; 
style.media = "print"; 
style.innerHTML = "#menu {display:none;}"; 
head.appendChild(style); 
window.print(); 
相關問題