Lists[1]和Lists[2]之间显示为什么用一个空行?

来源:9-6 setAttribute()方法

总角晏晏

2015-06-11 16:55

Lists[1]和Lists[2]之间显示为什么用一个空行?

写回答 关注

4回答

  • 心宿二
    2015-11-17 18:03:12
    <script type="text/javascript">
      var Lists=document.getElementsByTagName("li");
      for (var i=0; i<Lists.length;i++)
      {
        document.write(text +"<br>");
        if(text=="")
        {
        Lists[i].setAttribute('title',Lists[i].innerText);
        document.write(Lists[i].getAttribute("title")+"<br>");
        }
      }
    </script>

    因为if判断之前就打印了一遍document.write(text +"<br>");会把空的title也 打印出来。if判断之后又打印了一遍document.write(Lists[i].getAttribute("title")+"<br>");所以title为空的被打印了两遍,第一遍没值,显示为空行,第二遍有你所赋给的值。

    <script type="text/javascript">
      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',Lists[i].innerText);
        document.write(Lists[i].getAttribute("title")+"<br>");
        }else{
            document.write(text +"<br>");
        }
      }
    </script>


    rayhah...

    你说的对,加else后修改,逻辑才没问题

    2016-01-06 16:43:58

    共 1 条回复 >

  • hey自然
    2015-08-20 16:34:38

    因为在这里setAttribute是新建了一个属性值是“WEB前端技术”的title属性。

  • 思迥异做不同
    2015-07-03 15:29:24

    把 == "" 换成 == null

    hooli

    这个不能换,这两个是有区别的null 是判断有没有被定义,占卜占内存空间。 ""是判断内存空间中的值是不是空字符串。

    2015-07-05 20:52:11

    共 1 条回复 >

  • 伊兮尘昔
    2015-06-11 18:05:40

    不是有个<br>标签吗

    总角晏晏

    那个标签是显示完换行并没有多加一个空行啊

    2015-06-11 19:36:11

    共 1 条回复 >

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题