2015-08-24 68 views
1

我有一個程序,將使用Javascript來'打印'一個值使用'document.write()'屏幕。打印的值是一個整數。我期望能夠使用CSS將樣式應用於正在打印輸出的整數。下面是我曾嘗試做一些截斷的示例代碼,但它不工作(方案只是退出:如何將CSS應用於document.write()?

var number = 5 //just for an example 
document.write('<p id="jstext"' + number + '</p>') 

,這是我使用的CSS代碼:

#jstext { 
    text-align: center; 
    font-size: 90px; 
} 

謝謝

+0

缺少的分號行的結尾是一個錯字? – Paolo

回答

4

這是不對的,請參閱修正:

var number = 5; //just for an example 
//------------^ // Not sure but ; is a must in some places. 
document.write('<p id="jstext">' + number + '</p>') 
//----------------------------^ 

您忘記關閉>他回覆。

工作如下片段:

#jstext { 
 
    text-align: center; 
 
    font-size: 90px; 
 
}
<script> 
 
var number = 5; //just for an example 
 
//------------^ // Not sure but ; is a must in some places. 
 
document.write('<p id="jstext">' + number + '</p>') 
 
//----------------------------^ 
 
</script>


更新:不要用以前的方法。

上述方法是完全錯誤的。它將刪除所有事件處理程序並完全損壞DOM。更好的方法是使用:

document.body.appendChild(document.createElement('p')); 
document.querySelector("body p:last-child").id = "jstext"; 
document.querySelector("#jstext").innerHTML = number; 

片段

#jstext { 
 
    text-align: center; 
 
    font-size: 90px; 
 
}
<script> 
 
var number = 5; //just for an example 
 
//------------^ // Not sure but ; is a must in some places. 
 
document.body.appendChild(document.createElement('p')); 
 
document.querySelector("body p:last-child").id = "jstext"; 
 
document.querySelector("#jstext").innerHTML = number; 
 
</script>

+1

啊,謝謝!它現在有效。還有一個問題,使用innerHTML做這件事有什麼好處?輸出是否有區別? – ethanzh

+0

'innerHTML'對已經存在的元素起作用,而是。 ':'' –

+0

所以最好使用你的方法而不是innerHTML? :) – ethanzh

相關問題