问答详情
源自:9-5 getAttribute()方法

con[i].getAttribute("title"); 和 con[i].title;的区别?

var con=document.getElementsByTagName("li");
    for (var i=0; i< con.length;i++){
    //var text=con[i].getAttribute("title");
    var text=con[i].title;
      if(text!=null)
      {
        document.write(text+"<br>");
      }
    }
//var text=con[i].getAttribute("title");
    var text=con[i].title;
    //通过这两种方法获得的结果怎么不一样???这两个方法的区别是什么??

5746f5fe00015d6c03170191.jpg

5746f5fe00014d6103320195.jpg


提问者:空城盼故人 2016-05-26 21:11

个回答

  • 黑色丶毛衣
    2016-05-29 18:48:14
    已采纳

    var text=con[i].getAttribute("title");

    这个是获取到title属性的值。

    意思就是如果标签有title属性,且值存在,那就获取到。

    var text=con[i].title;

    这个则是获取到标签的title,如果没有title则创建一个值为空串的title;

    title=""

    注意一下:空值!=空串

    null!=""

    比较的例子如下:

    <script type="text/javascript">
          {
            document.write("不等于"+"<br>");
          }
     </script>


  • 一只特立独行的doge
    2016-05-29 09:14:33

    哥们,抱歉啊,我的理解好像有点出错。这理解好像不太对

  • 一只特立独行的doge
    2016-05-29 09:12:43

    attribute获取到的属性值是节点有的属性,这里获取到的是li节点的title属性的值,不管li你有没有给它一个title,title都是存在的,只是没赋值的就是null,就和这里的第二个li一样,虽然没有title,但是title还是存在的。但是如果你直接用con[i].title的话,只是得到的是已经赋值的title,未赋值的就是不存在的。

  • 水木清扬
    2016-05-26 22:36:48

    con[i].title只能获取HTML元素现有属性,前者可以获取非HTML元素属性