问答详情
源自:9-6 setAttribute()方法

setAttribute()方法并没有取代原来的值?

http://www.imooc.com/code/1588

<body>

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

  <ul>  

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

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

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

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

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

  </ul>  

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

<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=="1")

    {

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

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

    }

  }

</script>

</body>

这段代码里并没有改变title的值 ,原来的值在,后来的值也在?

提问者:仢约 2016-11-15 18:35

个回答

  • 沧海与明月
    2016-11-15 20:47:37
    已采纳

    你的if语句在document.write(text +"<br>");之后 也就是无论text是否等于1 他都会先执行document.write(text +"<br>");这句代码,你可以在if语句后加上一个else,把document.write(text +"<br>");这句放到else里去

  • 老友丶
    2016-11-15 20:02:35

    Lists[i].setAttribute("title","WEB前端技术")
    这一句就是设置啊,如果原来的title=="1",那么该节点的title设置为WEB前端技术。

    我也不知道 你是说代码有错 还是没看懂。