别告诉我有Bug 2012-12-03
用法:
比如在<body>中写了如下的代码:
<divid=top></div>
现在用top.innerHTML="..........";的方法就可以向这个id的位置写入HTML代码了。
例如top.innerHTML="<input type="button" name="我很帅" value="说的对">";就可以在top对应的位置出现一个button了!爽吧,在公告前加javascript就行老,直接改HTML。。。
<html>
<head>
<script>function Test(){
varstr="";
str+="Hello,";
str+="This is a Test!<br />";str+="I Love you;<br />";
str+="ILoveyou,too!";
p.innerHTML=str+"<br/><br/>"+Math.random();
setTimeout('Test();',1000);
}
</script>
</head>
<bodyonload=Test();>
<spanid="p"></span>
</doby>
</html>innerHTML和innerText有什么作用?
用javascript可以控制显示一个HTML表单如text,textarea,等里面的文字,
如: document.all.表单ID.value="ABC";但如何控制在页面上显示的文字呢?
这时就要用到innerHTML或innerText
<divid="div1"></div><p>
<divid="div2"></div>
<script>
document.all.div2.innerText="<fontcolor=#ff0000>AAA</font>";//可以这样动态修改,纯文字格式
document.all.div1.innerHTML="<fontcolor=#ff0000>AAA</font>";//HTML格式,动态生成一个表格也行
</script>(1)对div标签的控制
div标签跟span标签是不一样的,div是一个层的块,span是一行,我们下面看演示就知道区别了。先来看一段控制div的代码。
<script language="javascript">
functionchageDiv(number)
{
if(number==1){
document.getElementById("div1").innerHTML="值为1";
}
if(number==2){
document.getElementById("div1").innerHTML="值为2";
}
}
</script>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.getElementById("span1").innerHTML="值为1";
}
if(number==2){
document.getElementById("span1").innerHTML="值为2";
}
}
</script>Span行测试:
<span id="span1">默认值</span><br>
<ahref="#"onClick="chageSpan(1)">改变值为1</a>
<a href="#" onClick="chageSpan(2)">改变值为2</a>当点击“改变值为1”的时候,“默认值”将变为“值为1”,但是“Span行测试”和“默认值”是在同一行显示的,跟DIV不一样。
另外一个值得注意的就是,不管是div还是span,后面的名字都是以为id来定义的,不是象表单一样是使用name来定义的。
用innerHTML这样就可以实现动态table的效果:
<divid=div1></div>
<inputtype=buttonvalue=Testonclick=InsertHtml()>
<scriptlanguage=JScript>
varstrHTML="<Table><Tr>";
strHTML+="<TdbgColor=#000000Height=100pxWidth=100px>fadsf</Td>";
strHTML+="</Tr></Table>";
functionInsertHtml()
{
document.all.div1.innerHTML=strHTML;
}
</script>
JavaScript代码innerHTML='<option>1</option>'的时候测试出来的结果却是"1</option>",ie6 7 8 都存在这个问题。经过测试,发现 在用innerHT