为什么这样行?而这样却不行?

来源:9-16 创建元素节点createElement

慕桂英0124545

2020-03-04 11:10

<script type="text/javascript">

var main = document.body;

function createa(url,text)

{

 var a=document.createElement("a")

 a.setAttribute("href",url)

 a.setAttribute("style","color:red")

 var b=document.createTextNode(text)

 a.appendChild(b)

 main.appendChild(a)

}

// 调用函数创建链接

this.createa("http://www.imooc.com","慕课网")

</script> 

以上代码可以正确运行,而下面的代码却不能正确运行是为什么?

<script type="text/javascript">

var main = document.body;

//创建链接

function createa(url,text)

{

 var a=document.createElement("a")

      a=a.setAttribute("href",url)

     a=a.setAttribute("style","color:red")   //就这里与上面的代码不一样,这里用了赋值的方式但是这段代码就是报错所‘setAttribute’

 var b=document.createTextNode(text)//没定义

 a.appendChild(b)

 main.appendChild(a)

}

// 调用函数创建链接

this.createa("http://www.imooc.com","慕课网")

</script> 


写回答 关注

3回答

  • 慕丝7210716
    2020-04-22 20:52:25

    setAttribute方法没有返回值,不能赋值给变量

  • 走馬勿观花
    2020-03-23 12:10:48

    注意一下:

     a=a.setAttribute("href",url)

         a=a.setAttribute("style","color:red")   //就这里与上面的代码不一样,这里用了赋值的方式但是这段代码就是报错所‘setAttribute’



    a=  去掉后运行就可以了,敲码时多注意一下,这些很基础的。


    a.setAttribute("href",url)

    a.setAttribute("style","color:red")   //就这里与上面的代码不一样,这里用了赋值的方式但是这段代码就是报错所‘setAttribute’


  • 慕仔1115802
    2020-03-06 18:29:10


    我的答案如图所示:

    http://img1.mukewang.com/5e6225f30001e34c14990506.jpg

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468194 学习 · 21891 问题

查看课程

相似问题