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分別在自己的內存區域內尋找屬性值
發佈了25 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章