在内联元素中使用javascript的大小写打印文本以实现样式目的,这是不好的做法吗?如果是这样,什么是合适的方式来样式javascript打印文本?
,
<script>
function produceMessage(){
var msg= 'This should print';
return msg;
}
</script>
<span style="color:red">script>
document.write(produceMessage());
</script></span>
EDIT: Changed document.body.appendChild(document.createTextNode(produceMessage()));
to d ocument.write(produceMessage());
在内联元素中使用javascript的大小写打印文本以实现样式目的会是不好的做法吗?
一般来说,是的。在HTML上构建JavaScript。如果部分文档在没有JavaScript运行的情况下没有意义,那么应该将其添加到JavaScript中,而不是在基本HTML中。
如果是这样,什么是合适的方式来样式javascript打印文本?
与文本一起生成适当的语义标记。(当HTML中没有任何内容描述所添加内容的语义时,Span是最后的手段)。
<span style="color:red"><script>document.body.appendChild(document.createTextNode(produceMessage()));
不管怎样,那是行不通的。文本被附加到<body>
元素,所以不会在<span>
里面。
给<span>
元素一个ID,并使用innerHTML
:
document.getElementById("element_id").innerHTML = "string";
<span id="element_id"></span>