HTML DOM 允许 JavaScript 改变 HTML 元素的内容。
document.write()
在 JavaScript 中,document.write() 可用于直接向 HTML 输出流写内容。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <head> <body> <p>当前时间是: <script type="text/javascript"> document.write("<strong>"+(new Date()).toString()+"</strong>"); </script> </p> </body> </html>
绝对不要在文档加载完成之后使用 document.write()。这会覆盖该文档。
innerHTML
innerHTML 属性用于设置或返回指定标签之间的 HTML 内容。
语法:document.getElementById(id).innerHTML=新的 HTML
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p id="p1">Hello World!</p> <script> document.getElementById("p1").innerHTML="新文本!"; </script> <p>以上段落通过脚本修改文本。</p> </body> </html>
改变 HTML 属性
语法: document.getElementById(id).attribute=新属性值
attribute是一个特性节点,每个DOM元素都有一个对应的attributes属性来存放所有的attribute节点,attributes是一个类数组的容器,说得准确点就是NameNodeMap,总之就是一个类似数组但又和数组不太一样的容器。attributes的每个数字索引以名值对(name=”value”)的形式存放了一个attribute节点。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <script type="text/javascript"> var dir = "left"; function setDir() { dir = (dir=="left") ? "right" : "left"; document.getElementById( "Mar" ).direction = dir; } </script> </head> <body> <marquee id="Mar">欢迎光临!</marquee> <p><button onclick="setDir()">改变方向</button></p> </body> </html>