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

为什么不是替换掉原来的title,而是重新添加了一个title属性?

<!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="1">HTML/CSS</li>  

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

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

    {

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

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

    }

  }

</script>

</body>

</html>


提问者:小僵尸学JS 2017-10-11 18:37

个回答

  • 慕娘4083851
    2017-10-12 17:17:20
    已采纳

    如果不存在具有指定名称的属性,该方法才会创建一个新属性。但是,这里title是存在的,所以...

  • Geek丶
    2017-11-20 19:16:45

    for循环里先是打印原有title属性,然后才判断、修改、打印。