初学者javascript

时间:2013-08-27 03:07:19

标签: javascript html css

我一般都是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;
}

2 个答案:

答案 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>