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

有谁能告诉我 为什么运行出来 的结果中,JQ下面有一行是空白没有内容的?

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>无标题文档</title>

</head>

<body>

  <p id="intro">我的课程</p>  

  <ul>  

    <li title="JS">JavaScript</li>  

    <li title="JQ">JQuery</li>  

    <li title="">HTML/CSS</li>  

    <li title="JAVA">JAVA</li>  

    <li title="">PHP</li>  

  </ul>  

  <h1>以下为li列表title的值,当title为空时,新设置值为"WEB前端技术":</h1>

<script type="text/javascript">

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

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

  {

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

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

    if(text=="")

    {

    Lists[2].setAttribute("title","Vue3.0");

    Lists[4].setAttribute("title","React");

    document.write(Lists[i].getAttribute("title")+"<br>");

    }

  }

</script>

</body>

</html>


正在回答

4 回答

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

因为输出带有换行<br/>

ul-li是序列,会向左排序的,li排满了ul一行才会换行,

除非你设置css操控他们上下左右间隔,否则排的很密,空出来只是方便你看而已。你可以去掉<br/>

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

因为输出语句在判断之前,在判断它为空前先把空的字符串输出了,判断后才设置的属性值

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

因为在if判断之前,document.write() 就已经运行输出了空字符

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

因为Lists[i]输出的是li里面的title,上面title有两个没有赋值,所以就输出空白在那里

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

举报

0/150
提交
取消

有谁能告诉我 为什么运行出来 的结果中,JQ下面有一行是空白没有内容的?

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