2011-08-06 53 views
0

在內聯元素中使用從javascript打包的打印文本進行樣式設計是否是不好的做法?如果是這樣,什麼樣的JavaScript打印文本的樣式適當的方式?爲了樣式的目的,在內聯元素中使用encase javascript會是一個糟糕的做法嗎?

例:

<script> 
function produceMessage(){ 
    var msg= 'This should print'; 
    return msg; 
} 
</script> 


<span style="color:red">script> 
document.write(produceMessage()); 
</script></span> 

編輯:Changed document.body.appendChild(document.createTextNode(produceMessage()));到d ocument.write(produceMessage());

回答

1

難道是不好的做法,中內聯元素使用包住打印文本從JavaScript爲造型的目的呢?

一般來說,是的。通過HTML構建JavaScript。如果文檔的一部分在沒有運行JavaScript的情況下沒有意義,那麼它應該添加JavaScript而不是基本的HTML。

如果是這樣,什麼樣的JavaScript打印文本的樣式適當的方式?

與文本一起生成適當的語義標記。 (當HTML中沒有描述你所添加的語義時,跨度是最後的手段)。

<span style="color:red"><script>document.body.appendChild(document.createTextNode(produceMessage()));

這不會反正工作。該文本正在追加到<body>元素,因此不會在<span>內。

+0

再次感謝昆汀,非常有幫助 – user784637

0

給這個<span>元素的ID,並使用innerHTML插入文本:

document.getElementById("element_id").innerHTML = "string"; 

<span id="element_id"></span> 
相關問題