javascript操作元素的常見(jiàn)方法小結(jié)
本文實(shí)例講述了javascript操作元素的常見(jiàn)方法。分享給大家供大家參考,具體如下:
獲取元素方法一
可以使用內(nèi)置對(duì)象document上的getElementById方法來(lái)獲取頁(yè)面上設(shè)置了id屬性的元素,獲取到的是一個(gè)html對(duì)象,然后將它賦值給一個(gè)變量,比如:
<script type="text/javascript"> var oDiv = document.getElementById('div1'); </script> .... <div id="div1">這是一個(gè)div元素</div>
上面的語(yǔ)句,如果把javascript寫在元素的上面,就會(huì)出錯(cuò),因?yàn)轫?yè)面上從上往下加載執(zhí)行的,javascript去頁(yè)面上獲取元素div1的時(shí)候,元素div1還沒(méi)有加載,解決方法有兩種:
第一種方法:將javascript放到頁(yè)面最下邊
.... <div id="div1">這是一個(gè)div元素</div> .... <script type="text/javascript"> var oDiv = document.getElementById('div1'); </script> </body>
第二種方法:將javascript語(yǔ)句放到window.onload觸發(fā)的函數(shù)里面,獲取元素的語(yǔ)句會(huì)在頁(yè)面加載完后才執(zhí)行,就不會(huì)出錯(cuò)了。
<script type="text/javascript"> window.onload = function(){ var oDiv = document.getElementById('div1'); } </script> .... <div id="div1">這是一個(gè)div元素</div>
獲取元素方法二
可以使用內(nèi)置對(duì)象document上的getElementsByTagName方法來(lái)獲取頁(yè)面上的某一種標(biāo)簽,獲取的是一個(gè)選擇集,不是數(shù)組,但是可以用下標(biāo)的方式操作選擇集里面的標(biāo)簽元素。
<script type="text/javascript"> window.onload = function(){ var aLi = document.getElementsByTagName('li'); // aLi.style.backgroundColor = 'gold'; // 出錯(cuò)!不能同時(shí)設(shè)置多個(gè)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>
操作元素屬性
獲取的頁(yè)面元素,就可以對(duì)頁(yè)面元素的屬性進(jìn)行操作,屬性的操作包括屬性的讀和寫。
操作屬性的方法
1、“.” 操作
2、“[ ]”操作
屬性寫法
1、html的屬性和js里面屬性寫法一樣
2、“class” 屬性寫成 “className”
3、“style” 屬性里面的屬性,有橫杠的改成駝峰式,比如:“font-size”,改成”style.fontSize”
通過(guò)“.”操作屬性:
<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>
通過(guò)“[ ]”操作屬性:
<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; 沒(méi)反應(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">這是一個(gè)div元素</div>
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript操作DOM技巧總結(jié)》、《JavaScript頁(yè)面元素操作技巧總結(jié)》、《JavaScript事件相關(guān)操作與技巧大全》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
使用JS中的Replace()方法遇到的問(wèn)題小結(jié)
這篇文章主要介紹了使用JS中的Replace()方法遇到的問(wèn)題小結(jié),需要的朋友可以參考下2017-10-10JavaScript判斷變量是否為數(shù)組的方法(Array)
這篇文章主要介紹了JavaScript判斷變量是否為數(shù)組的方法(Array),涉及到j(luò)avascript 數(shù)組 變量相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧2016-02-02原生JavaScript實(shí)現(xiàn)連連看游戲(附源碼)
原生JavaScript版連連看游戲,有源碼,適合初學(xué)者學(xué)習(xí),喜歡的朋友可以研究下2013-11-11JS定時(shí)器實(shí)現(xiàn)數(shù)值從0到10來(lái)回變化
最近做項(xiàng)目遇到一需求要求實(shí)現(xiàn)數(shù)值從0到10來(lái)回變化,下面小編給大家分享下實(shí)現(xiàn)代碼,需要的朋友參考下2016-12-12