使用getElementById动态创建网站?

时间:2010-12-03 22:50:11

标签: javascript

我正在尝试使用JavaScript动态创建一个网站,但无法让我的getElementById函数正常工作。我已经探索了很多,发现了一些例子,并试图使它们无法成功(大多数都不使用外部的.js文件)。下面是我的JavaScript和HTML代码:

HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Final Project</title>
<script type="text/javascript">
</script>
</head>
<body>
<script type="text/javascript" src="finalProj.js">
</script>
<form name = "myForm">
<h1 id="myHeader"></h1>

JavaScript的:

var firstName = ("RicK");
var courseName = ("WEB 180");

function myHeading()
{
document.getElementById('header').write = (firstName + lastName);
} 

5 个答案:

答案 0 :(得分:6)

  1. 应该有权访问某些DOM元素的JavaScript代码必须在之后 HTML中的元素,否则元素不会在DOM中生成(假设您编写的JavaScript代码)在finalProj.js):

    <body>
       <form name = "myForm">
           <h1 id="myHeader"></h1>
       </from>
       <!-- can access myHeader now -->
       <script type="text/javascript" src="finalProj.js"></script>
    </body>
    
  2. 不知道 write 属性,但innerHTML应该这样做:

    document.getElementById('myHeader').innerHTML = firstName + lastName;
    

    当然,您也必须致电myHeading()

答案 1 :(得分:2)

document.getElementById('myheader').innerHTML = "(" + firstName + ' ' + lastName + ")";

答案 2 :(得分:2)

您指定的ID以及您尝试选择的标头的ID不匹配。你有:

<h1 id="myHeader"></h1>

document.getElementById('header').write = (firstName + lastName);

您需要将其更改为:

document.getElementById('myHeader').write = (firstName + lastName);

答案 3 :(得分:1)

尝试这样的事情:

var firstName = "RicK";
var courseName = "WEB 180";

function myHeading() {
    document.getElementById('header').innerHTML = firstName + " " + lastName;
} 

答案 4 :(得分:1)

您想要的属性是innerHTML(您可以省略括号):

document.getElementById('myHeader').innerHTML = firstName + lastName;