在dom中获取属性的值和设置属性的值



在dom中获取属性的值和设置属性的值
代码如下

链接

我想给上面的连接添加一个链接属性href

方法1:
<script language="javascript" type="text/javascript">
window.οnlοad=function(){


var ele_a = document.getElementById('a_id');

ele_a.setAttribute('href','http://www.baidu.com');//浏览器能成功跳到 百度主页
}
</script>

方法2:
<script language="javascript" type="text/javascript">
window.οnlοad=function(){


var ele_a = document.getElementById('a_id');


ele_a.href='http://www.baidu.com'; //也能成功跳到百度主页
}
</script>
但是:
var value1 = ele_a.getAttribute('value');
var value2 = ele_a.href;

var ele_p = document.getElementById('p_id');
ele_p.innerHTML="value1="+value1+":"+"value2="+value2;

在上面同时加上这两句话:
结果都是:
value1=http://www.baidu.com:value2=http://www.baidu.com/
这说明了:
在获取标签自带的属性的值的时候,这个两个方法都是一样。
上面是我给属性设置了值得情况,但是我在没有设置之前获取这个href会是这样的呢:
<script language="javascript" type="text/javascript">
window.οnlοad=function(){


var ele_a = document.getElementById('a_id');

//
var value1 = ele_a.getAttribute('href');
var value2 = ele_a.href;

var ele_p = document.getElementById('p_id');
ele_p.innerHTML="value1="+value1+":"+"value2="+value2;

}
</script>
结果是:
value1=null:value2=
这说明了这两个方法的值是两个不同的内存区域
总结:
在设置的时候,
setAttribute()会先去标签的属性中找有没有这个属性,如果有,就设置它的值,不新建,并把引用返回,如果没有则在自己的内存区域新建属性对象
在获取值得时候,getAttribute()和.href分别在自己的内存区域内寻找属性值
————————————————
版权声明:本文为CSDN博主「xiao_2u」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xiao_2u/article/details/84775150

DOM