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进阶篇
469063 学习 · 22582 问题
相似问题