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

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的值 ,原来的值在,后来的值也在?

正在回答

2 回答

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

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

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

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

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

仢约 提问者

你可以在这一节里试一下,把 if(text=="")改成 if(text=="1")后输出 你就会看到结果了 有原来的1,还有后设置的WEB前端技术,同时存在
2016-11-15 回复 有任何疑惑可以回复我~
#2

老友丶 回复 仢约 提问者

好吧,是我没有仔细看。你采纳的那位已经说得很好了,主要是看了你的问题先入为主只看了修改属性那一句。
2016-11-15 回复 有任何疑惑可以回复我~
#3

仢约 提问者 回复 老友丶

共同学习,共同进步!
2016-11-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468189    人
  • 解答问题       21891    个

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

进入课程

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

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