前端设计

innerhtml 用法

2010-08-03

比如在<body>中写了如下的代码
<div id=top></div>

现在用top.innerHTML="..........";的方法就可以向这个id的位置写入HTML代码了。
例如top.innerHTML="<input type="button" name="我很帅" value="说的对">";就可以在top对应的位置出现一个button了!

爽吧,在公告前加javascrīpt就行老,直接改HTML。。。

<html>
<head>
<scrīpt>
function Test(){
        var str="";
        str+="Hello,";
        str+="This is Test!<br />";
        str+="I Love you;<br />";
        str+="I Love you,too!";
        p.innerHTML=str+"<br /><br />"+Math.random();
        setTimeout('Test();',1000);
}
</scrīpt>
</head>
<body onload=Test();>
<span id="p"></span>
</doby>
</html>

innerHTML和innerText有什么作用?


用javascrīpt可以控制显示一个HTML表单如text,textarea,等里面的文字,
如: document.all.表单ID.value="ABC";

但如何控制在页面上显示的文字呢?

这时就要用到innerHTML或innerText

<div id="div1"></div><p>
<div id="div2"></div>

<scrīpt>
document.all.div2.innerText="<font color=#ff0000>AAA</font>"; //可以这样动态修改,纯文字格式
document.all.div1.innerHTML="<font color=#ff0000>AAA</font>"; //HTML格式,动态生成一个表格也行
</scrīpt> 

 

(1)对div标签的控制

div标签跟span标签是不一样的,div是一个层的块,span是一行,我们下面看演示就知道区别了。先来看一段控制div的代码。

<scrīpt language="javascrīpt">
function chageDiv(number)
{
 if (number == 1) {
  document.getElementByIdx("div1").innerHTML "值为1";
 }
 if (number == 2) {
  document.getElementByIdx("div1").innerHTML "值为2";
 }
}
</scrīpt>

 

DIV块测试:<div id="div1">默认值</div>

<a href="#" onClick="chageDiv(1)">改变值为1</a> 
<a href="#" onClick="chageDiv(2)">改变值为2</a>

 

运行的时候,点击“改变值为1”那么“默认值”这个内容将会被改变为“值为1”,但是注意其中的界面,就是会发现“DIV测试:”和“默认值”是两行显示的,因为DIV是按块来显示的。

(2)对span的控制

与div类似,但是它是按照行来显示的,看下面的代码:

function chageSpan(number)
{
 if (number == 1) {
  document.getElementByIdx("span1").innerHTML "值为1";
 }
 if (number == 2) {
  document.getElementByIdx("span1").innerHTML "值为2";
 }
}
</scrīpt>


Span行测试:

<span id="span1">默认值</span><br>
<a href="#" onClick="chageSpan(1)">改变值为1</a>
<a href="#" onClick="chageSpan(2)">改变值为2</a>

 

当点击“改变值为1”的时候,“默认值”将变为“值为1”,但是“Span行测试”和“默认值”是在同一行显示的,跟DIV不一样。

另外一个值得注意的就是,不管是div还是span,后面的名字都是以为id来定义的,不是象表单一样是使用name来定义的。

用innerHTML这样就可以实现动态table的效果:
<div id=div1></div>
<input type=button value=Test ōnclick=InsertHtml()>
<scrīpt language=Jscrīpt>
var strHTML = "<Table><Tr>";
strHTML += "<Td bgColor=#000000 Height=100px Width=100px>fadsf</Td>";
strHTML += "</Tr></Table>";
function InsertHtml()
{
document.all.div1.innerHTML = strHTML;
}
</scrīpt>