dom.href和dom.setAttribute('href','')问题

2016年4月5日19:58:48

遇到的问题
在dom中获取属性的值和设置属性的值
代码如下
<body class="error_page" οnlοad="startTimes();">
<a>链接</a>
</body>

我想给上面的连接添加一个链接属性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分别在自己的内存区域内寻找属性值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值