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

看下注释代码

<!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[i].setAttribute("title","WEB前端技术")

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

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

    }

  }

</script>

</body>

</html>


看下注释代码

为什么Lists[i].getAttribute("title")不能用变量text替代

正在回答

4 回答

你问的应该是倒数第二个document吧 这是在if(text="")情况下执行的语句 text 已经 ="" 当然不能用了                  而为什么要用Lists[i].getAttribute("title") 那是因为  前一句 Lists[i].setAttribute("title","WEB前端技术") 把它的 tittle 设置为了 "WEB前端技术" 而此时正是要输出这个新title

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

德塔Odetta

问一下~ 把 Lists[i].setAttribute("title","WEB前端技术") 赋值给一个变量a, 然后再输出变量a可以吗?
2022-04-08 回复 有任何疑惑可以回复我~

因为Lists[i].setAttribute("title","WEB前端技术")改变了Lists[i]中title的值,text指向的是Lists[i]中title的旧值,现在要用新值了。如果还想用text,则要在 document.write(……)前加上一句:text = Lists[i].getAttribute("title");

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

因为Lists[i].setAttribute("title","WEB前端技术")改变了Lists[i]中title的值,原来的text指的是Lists[i]中title的旧值。

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

因为Lists[i].setAttribute("title","WEB前端技术")改变了title的值,原来的text获得的是旧值,而现在必须输出新值了。

如果还想用text,则要在document.write(……)之前写一句:text=Lists[i].getAttribute("title");

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

举报

0/150
提交
取消

看下注释代码

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