我一般都是JavaScript和网页设计的新手,我不明白为什么这不起作用。
有两个问题。
1)我的页面标题不起作用,而在浏览器标题栏中显示的是“myHtml.html
”。标题仅在我接受script
声明时才有效。
2)我希望JavaScript生成的文本为蓝色,有没有办法做到这一点?
HTML:
<!DOCTYPE html>
<html>
<head class = "Header">
<title>JavaScript Test</title>
<meta charset = "UTF-8">
<link rel = "stylesheet" type = "text/css" href = "myCSS.css" >
<script type= text/javascript src= myJavaScript.js></script>
</head>
<body class = "Body" onload = "testJavaScript()">
<p>
<noscript>
Your javascript is disabled
</noscript>
</p>
</body>
</html>
JavaScript的:
function testJavaScript(){
var message = "You Have Javascript!!";
document.writeln(message);
}
CSS:
@charset "UTF-8";
head.Header{
font-family:sans-serif;
color:green;
}
body.Body{
font-family:sans-serif;
color:blue;
}
答案 0 :(得分:4)
在document.writeln
事件触发后使用onload
(就像您在示例中使用的那样),整个DOM都将被删除,因此没有HTML / CSS可以为您提供标题或蓝色文字。
要测试您要执行的操作,请执行以下操作:
...
<body class="Body">
<p>
<noscript>
Your javascript is disabled
</noscript>
<script>
testJavaScript();
</script>
</p>
...
但是,我建议您根本不使用document.writeln
(除非有充分理由)并使用DOM操作方法来包含您的文本(例如innerHTML
)。 @ Shylo的回答也是一种方法。
答案 1 :(得分:0)
<!DOCTYPE html>
<html>
<head class="Header">
<title>JavaScript Test</title>
<meta charset="UTF-8">
<style type="text/css">
.Body {
font-family: sans-serif;
color: blue;
}
</style>
<script type="text/javascript">
window.onload = function() {
message = document.createElement('P');
message.className = "Body";
message.innerHTML = "You Have Javascript!!";
document.body.appendChild(message);
}
</script>
</head>
<body>
<p>
<noscript>
Your javascript is disabled
</noscript>
</p>
</body>
</html>