在dom中獲取屬性的值和設置屬性的值



在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分別在自己的內存區域內尋找屬性值
————————————————
版權聲明:本文為CSDN博主「xiao_2u」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/xiao_2u/article/details/84775150


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM