javascript操作元素的常見方法小結(jié)
本文實(shí)例講述了javascript操作元素的常見方法。分享給大家供大家參考,具體如下:
獲取元素方法一
可以使用內(nèi)置對象document上的getElementById方法來獲取頁面上設(shè)置了id屬性的元素,獲取到的是一個html對象,然后將它賦值給一個變量,比如:
<script type="text/javascript">
var oDiv = document.getElementById('div1');
</script>
....
<div id="div1">這是一個div元素</div>
上面的語句,如果把javascript寫在元素的上面,就會出錯,因?yàn)轫撁嫔蠌纳贤录虞d執(zhí)行的,javascript去頁面上獲取元素div1的時候,元素div1還沒有加載,解決方法有兩種:
第一種方法:將javascript放到頁面最下邊
....
<div id="div1">這是一個div元素</div>
....
<script type="text/javascript">
var oDiv = document.getElementById('div1');
</script>
</body>
第二種方法:將javascript語句放到window.onload觸發(fā)的函數(shù)里面,獲取元素的語句會在頁面加載完后才執(zhí)行,就不會出錯了。
<script type="text/javascript">
window.onload = function(){
var oDiv = document.getElementById('div1');
}
</script>
....
<div id="div1">這是一個div元素</div>
獲取元素方法二
可以使用內(nèi)置對象document上的getElementsByTagName方法來獲取頁面上的某一種標(biāo)簽,獲取的是一個選擇集,不是數(shù)組,但是可以用下標(biāo)的方式操作選擇集里面的標(biāo)簽元素。
<script type="text/javascript">
window.onload = function(){
var aLi = document.getElementsByTagName('li');
// aLi.style.backgroundColor = 'gold'; // 出錯!不能同時設(shè)置多個li
alert(aLi.length);
aLi[0].style.backgroundColor = 'gold';
}
</script>
....
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
操作元素屬性
獲取的頁面元素,就可以對頁面元素的屬性進(jìn)行操作,屬性的操作包括屬性的讀和寫。
操作屬性的方法
1、“.” 操作
2、“[ ]”操作
屬性寫法
1、html的屬性和js里面屬性寫法一樣
2、“class” 屬性寫成 “className”
3、“style” 屬性里面的屬性,有橫杠的改成駝峰式,比如:“font-size”,改成”style.fontSize”
通過“.”操作屬性:
<script type="text/javascript">
window.onload = function(){
var oInput = document.getElementById('input1');
var oA = document.getElementById('link1');
// 讀取屬性值
var sValue = oInput.value;
var sType = oInput.type;
var sName = oInput.name;
var sLinks = oA.href;
// 寫(設(shè)置)屬性
oA.style.color = 'red';
oA.style.fontSize = sValue;
}
</script>
......
<input type="text" name="setsize" id="input1" value="20px">
<a rel="external nofollow" rel="external nofollow" rel="external nofollow" id="link1">傳智播客</a>
通過“[ ]”操作屬性:
<script type="text/javascript">
window.onload = function(){
var oInput1 = document.getElementById('input1');
var oInput2 = document.getElementById('input2');
var oA = document.getElementById('link1');
// 讀取屬性
var sVal1 = oInput1.value;
var sVal2 = oInput2.value;
// 寫(設(shè)置)屬性
// oA.style.val1 = val2; 沒反應(yīng)
oA.style[sVal1] = sVal2;
}
</script>
......
<input type="text" name="setattr" id="input1" value="fontSize">
<input type="text" name="setnum" id="input2" value="30px">
<a rel="external nofollow" rel="external nofollow" rel="external nofollow" id="link1">傳智播客</a>
innerHTML
innerHTML可以讀取或者寫入標(biāo)簽包裹的內(nèi)容
<script type="text/javascript">
window.onload = function(){
var oDiv = document.getElementById('div1');
//讀取
var sTxt = oDiv.innerHTML;
alert(sTxt);
//寫入
oDiv.innerHTML = '<a rel="external nofollow" rel="external nofollow" rel="external nofollow" >傳智播客<a/>';
}
</script>
......
<div id="div1">這是一個div元素</div>
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運(yùn)行效果。
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript操作DOM技巧總結(jié)》、《JavaScript頁面元素操作技巧總結(jié)》、《JavaScript事件相關(guān)操作與技巧大全》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
詳談js中數(shù)組(array)和對象(object)的區(qū)別
下面小編就為大家?guī)硪黄斦刯s中數(shù)組(array)和對象(object)的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
uniapp中使用videojs構(gòu)建H5直播播放器
這篇文章主要為大家介紹了uniapp中使用videojs構(gòu)建H5直播播放器實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
js基于FileSaver.js 瀏覽器導(dǎo)出Excel文件的示例
本篇文章主要介紹了js基于FileSaver.js 瀏覽器導(dǎo)出Excel文件的示例,具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08
js學(xué)習(xí)總結(jié)_選項(xiàng)卡封裝(實(shí)例講解)
下面小編就為大家?guī)硪黄猨s學(xué)習(xí)總結(jié)_選項(xiàng)卡封裝(實(shí)例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
js判斷手機(jī)端(Android手機(jī)還是iPhone手機(jī))
現(xiàn)在使用手機(jī)上網(wǎng)的人越來越多,一些下載網(wǎng)站會通過判斷不同系統(tǒng)手機(jī)來訪問不同網(wǎng)頁,比如iPhone和Android。下面我們就來介紹一下如何用javascript判斷iPhone或Android手機(jī)訪問2015-07-07

