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

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


正在回答

6 回答

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>


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

空城盼故人 提问者

所以这种写法的时候是和""(空字符串)比较!懂了 var text=con[i].title; if(text!=""){}
2016-05-31 回复 有任何疑惑可以回复我~
#2

CharlesLvm 回复 空城盼故人 提问者

con[i].getAttribute("title");只能获取存在的属性值,而 con[i].title;可以对不存在的标签进行创建?
2016-07-15 回复 有任何疑惑可以回复我~

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

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

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

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

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

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

举报

0/150
提交
取消

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

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