 
		yu_1010
2019-03-13 18:25
//var text=con[i].title;
var text3=con[i].getAttribute("title");
这两条语句都能实现将title的内容输出,他们有何区别呢,如果通过节点可以直接用object.属性的方式访问,为什么还需要一个专门的方法来访问节点的属性呢
 
				con[i].getAttribute("title")这个是获取到title属性的值。意思就是如果标签有title属性,且值存在,那就获取到。
con[i].title 这个则是获取到标签的title,如果没有title则创建一个值为空串的title;
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>getAttribute()</title>
</head>
<body>   
<p id="intro">课程列表</p>  
    <ul>  
        <li title="第1个li">HTML</li>  
        <li>CSS</li>  
        <li title="第3个li">JavaScript</li>  
        <li title="第4个li">Jquery</li>  
        <li>Html5</li>  
    </ul>  
<p>以下为获取的不为空的li标签title值:</p>
<script type="text/javascript">
    var con=document.getElementsByTagName("li");
    for (var i=0; i< con.length;i++){
        var text=con[i].getAttribute("title");
      if(text!=null)
      {
        document.write(text+"<br>");
      }
    }
    document.write("<hr>") ;
    for (var i=0;i<con.length;i++){
    var text=con[i].title;
    if(text!=null){
    document.write(text+"<br>");
    }
    }
 </script> 
</body>
</html>
 
				没有大的区别,只是有些方法封装好了,但是getAttribute()适用范围更广一点,可以获取自定义属性,你可以看看那《DOM启蒙》里面讲的比较详细
 
				先记着,都有用。
到后面你就知道了
JavaScript进阶篇
469062 学习 · 22582 问题
相似问题