在此示例中,浏览器是否跳过文本“此文本将不会被打印”,因为有一个脚本会替换它?
<script>
function produceSongLyric(){
var msg= 'Spent my money<br />Took my car<br/>Started telling her friends she\'s gonna be a star';
return msg;
}
</script>
<span id="mySpanName" style="color:red">This text will not be printed</span>
<script>
document.getElementById("mySpanName").innerHTML=produceSongLyric();
</script>
编辑:你不能粘贴到jsfiddle吗?
答案 0 :(得分:5)
不,浏览器不会跳过它。
在脚本执行之前,无法知道它会被替换。
答案 1 :(得分:0)
没有......它找到了。见fiddle
答案 2 :(得分:0)
下面看一下:http://jsfiddle.net/nupul/gtN5w/您将看到文本被打印出来。只是脚本被执行了,显示器的60hz刷新频率可能会阻止你看到它;)
答案 3 :(得分:0)
不,浏览器不会跳过它。请记住,如果有些奇怪但有可能迫使Web服务器不是在一个网络数据包中发送所有文档,而是花一点时间发送最后一个脚本元素,可能浏览器想要显示它!
我建议您通过设置display:none;
CSS属性使该跨度不可见,并在脚本结尾处将其删除。
另请注意,只有在抛出窗口加载事件后才应使用document.getElementById。