为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

正在回答

4 回答

<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>


1 回复 有任何疑惑可以回复我~
#1

rayhaha

你说的对,加else后修改,逻辑才没问题
2016-01-06 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

把 == "" 换成 == null

0 回复 有任何疑惑可以回复我~
#1

hooli

这个不能换,这两个是有区别的null 是判断有没有被定义,占卜占内存空间。 ""是判断内存空间中的值是不是空字符串。
2015-07-05 回复 有任何疑惑可以回复我~

不是有个<br>标签吗

0 回复 有任何疑惑可以回复我~
#1

总角晏晏 提问者

那个标签是显示完换行并没有多加一个空行啊
2015-06-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信