listenlo
2016-04-28 11:40
<script type="text/javascript">
var main = document.body;
var body= document.body;
//创建链接
function createa(url,text)
{
var a = document.createElement("a");
a.href = url;
a.innerHTML = text;
a.style.color = "red";
body.appendChild(a);
}
// 调用函数创建链接
createa("http://www.imooc.com/","慕课网");
</script>
补充一点,document.write如果在文档流关闭后使用的,就是我前面说的那种新开一个HTML文档,如果是在关闭前使用的,那么就是在原有文档的body里写。怎么看关闭后还是关闭前,看你调用到这句话的时候,整个HTML被读完了没:
比如说<html><body><javascript>document.write("a")</javascript></body></html>
在还没读到</html>就执行了document.write,这时候,是在现有文档里写的。
假如<html><javascript>window.onload=function(){document.write("a");}</javascript><body></body></html>这就新开了一个文档,为什么呢,就因为window.onload,执行的是文档读完之后再执行function(){document.write("a"),所以document.write执行时,文档已经读完了,读完了就关闭了,再打开就是新HTML了。
同理,如果是个onclick=document.write,也是新打开一个文档,为什么呢,因为onclick触发的时候,文档已经读完了。
估计你对文档这个概念有点陌生,这部分多查查多看看就能理解了,我语言表达能力不足,这段并没有说的太清楚,最好自己再多看看。
createa函数是自己定义的函数,不是已有的方法,用法按照定义的调用就好,下面给你逐行解释一下。
function createa(url,text)//定义了一个函数叫createa,它有两个参数
{
var a = document.createElement("a");//创建了一个a标签
a.href = url;//a标签的href属性是传进来的第一个参数,那么第一个参数需要是一个链接
a.innerHTML = text;//a的innerHTML属性是传进来的第二个参数,第二个参数就是a标签的内容
a.style.color = "red";//a标签的颜色被设置成了红色
body.appendChild(a);//将创建的a标签放入了body里,作为body的子元素
}
这样应该就可以明白了,还有哪不明白就再问吧
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题