为什么输出结果是undefined

来源:9-6 setAttribute()方法

LIFE_1st

2016-03-16 21:37

http://img.mukewang.com/56e9615d00016a8513280482.jpg

想了很久没找到什么地方出了问题...

写回答 关注

2回答

  • 肥仔汇
    2016-03-16 22:07:22
    已采纳

    改成如下就可以输出了


    Lists[i].setAttribute("title","WEB前端技术");只有set的作用

    然后你要再get一次


    233333333333


     var Lists=document.getElementsByTagName("li");

      for (var i=0; i<Lists.length;i++)

      {

        var text=Lists[i].getAttribute("title");

        

        

        if(text=="")

        {

        Lists[i].setAttribute("title","WEB前端技术");

        text=Lists[i].getAttribute("title");

        document.write(text + "<br>");

        }else{

            document.write(text +"<br>");

        }

      }



    LIFE_1...

    非常感谢!2333

    2016-03-19 09:11:14

    共 1 条回复 >

  • recying5566
    2016-03-29 15:28:41

    我来告诉你为什么是undefined,出现undefined无非两种情况:1、变量没赋初始值;2、函数没有返回值。

    再看你的代码第24行,text=Lists[i].setAttribute("title","WEB前端技术");

    setAttribute("title","WEB前端技术")是方法的调用,并不会返回值给text,属于第二种情况,所以在打印的时候就会出现“undefined”这样的字符,意思就是“未定义”!



JavaScript进阶篇

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

468191 学习 · 21891 问题

查看课程

相似问题