javascript中獲取元素標(biāo)簽中間的內(nèi)容的實(shí)現(xiàn)方法
使用ajax,通過(guò)會(huì)把服務(wù)器端響應(yīng)獲取到reponseText或者reponseXML中的信息,以某種方法動(dòng)態(tài)的寫(xiě)到div和span標(biāo)記中,這樣,可以在無(wú)刷新的情況下,改變頁(yè)面內(nèi)容的顯示。
通過(guò)javascript進(jìn)行動(dòng)態(tài)的修改,修改的方法有兩種:
1. 一種是使用html的每個(gè)標(biāo)記的innerHTML屬性,使用此屬性,只要為它提供一個(gè)有意義的html代碼片段,那么html解釋器就可以將其中的內(nèi)容進(jìn)行解釋?zhuān)@示在頁(yè)面上,使用這種方式比較簡(jiǎn)單,每次修改前不需要先把原來(lái)的內(nèi)容清除掉,而可以直接進(jìn)行填充,填充的同時(shí)會(huì)把原來(lái)的內(nèi)容覆蓋掉。這種方式雖然簡(jiǎn)單,但是目前還不是w3c的標(biāo)準(zhǔn),不過(guò)主流的瀏覽器如IE,firefox都已經(jīng)采用。
2. 另外一種是創(chuàng)建一個(gè)Text Node節(jié)點(diǎn)作為div和span元素的子節(jié)點(diǎn),采用這種方式,div和span中要顯示的內(nèi)容保存在Text Node中,這樣div和span元素顯示的內(nèi)容是由Text Node提供的。需要注意的是:在每次填寫(xiě)內(nèi)容時(shí),需要先把原來(lái)的Text Node刪除掉,然后新建一個(gè)Text Node再寫(xiě)入內(nèi)容。如果不刪除的話(huà),那么每次調(diào)用填充操作時(shí),都會(huì)新建一個(gè)新的Text Node,也就造成div和span元素下有多個(gè)Text Node節(jié)點(diǎn),并且每個(gè)Text Node都會(huì)把自身的內(nèi)容顯示出來(lái),因此不會(huì)覆蓋原來(lái)的內(nèi)容。
<html> <head> <style> .css1{background-color:ff0000;color:ff9966;border:1;cursor:hand;} .css2{background-color:00ff00;color:ffffff;border:1;cursor:hand;} </style> <script type="text/javascript"> function changeneirong() { var spanv = document.getElementsByTagName("span"); spanv[2].innerHTML = "我由常軍魁變?yōu)榱藄pan"; } function changediv() { document.getElementsByTagName("div")[0].innerHTML = "我由常軍魁變成了div"; } function changep() { document.getElementsByTagName("p")[0].innerHTML = "我由常軍魁變成了p標(biāo)簽"; } function change() { var spanvar = document.getElementsByTagName("span"); alert(spanvar[0].innerHTML); document.getElementsByTagName("span")[0].className = "css2"; } function fillDivWithInnerHTML() { var username = document.getElementById("username").value; var textDiv = document.getElementById("textDiv"); textDiv.innerHTML=username; } function fillDivWithTextNode() { var textDiv = document.getElementById("textDiv"); //首先刪除所有已新建的Text Node節(jié)點(diǎn) while(textDiv.hasChildNodes()) { textDiv.removeChild(textDiv.childNodes[0]); } var textNode = document.createTextNode(document.getElementById("username").value); textDiv.appendChild(textNode); } function fillSpanWithInnerHTML() { var username = document.getElementById("username").value; var textSpan = document.getElementById("textSpan"); textSpan.innerHTML=username; } function fillSpanWithTextNode() { var textSpan = document.getElementById("textSpan"); //首先刪除所有已新建的Text Node節(jié)點(diǎn) while(textSpan.hasChildNodes()) { textSpan.removeChild(textSpan.childNodes[0]); } var textNode = document.createTextNode(document.getElementById("username").value); textSpan.appendChild(textNode); } </script> </head> <body> <span class="css1" onclick="change()">常軍魁</span> <span class="css1" onclick="javascript:this.className='css2'">這是一段文字 </span> <br /> <span onclick="changeneirong()" style="corsur:hand;">常軍魁</span> <br /> <div onclick="changediv()">常軍魁</div> <p onclick="changep()">常軍魁</p> <input type="text" id="username" name="username"/><br/> <input type="button" id="fillDivWithInnerHTML" value="fillDivWithInnerHTML" onclick="fillDivWithInnerHTML()"/> <br/> <input type="button" id="fillDivWithTextNode" value="fillDivWithTextNode" onclick="fillDivWithTextNode()"/> <br/> <input type="button" id="fillSpanWithInnerHTML" value="fillSpanWithInnerHTML" onclick="fillSpanWithInnerHTML()"/> <br/> <input type="button" id="fillSpanWithTextNode" value="fillSpanWithTextNode" onclick="fillSpanWithTextNode()"/> <span id="textSpan"></span><br/> <div id="textDiv"></div> </body> </html>
以上就是小編為大家?guī)?lái)的javascript中獲取元素標(biāo)簽中間的內(nèi)容的實(shí)現(xiàn)方法全部?jī)?nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
關(guān)于promise.all()的使用及說(shuō)明
這篇文章主要介紹了關(guān)于promise.all()的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04淺析javascript中函數(shù)聲明和函數(shù)表達(dá)式的區(qū)別
這篇文章主要介紹了淺析javascript中函數(shù)聲明和函數(shù)表達(dá)式的區(qū)別,需要的朋友可以參考下2015-02-02js實(shí)現(xiàn)帶有動(dòng)畫(huà)的返回頂部
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)帶有動(dòng)畫(huà)的返回頂部,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08js實(shí)現(xiàn)iframe跨頁(yè)面調(diào)用函數(shù)的方法
這篇文章主要介紹了js實(shí)現(xiàn)iframe跨頁(yè)面調(diào)用函數(shù)的方法,實(shí)例展示了iframe中父頁(yè)面調(diào)用子頁(yè)面和子頁(yè)面調(diào)用父頁(yè)面的實(shí)現(xiàn)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12JavaScript中eval函數(shù)的問(wèn)題
這篇文章主要介紹了JavaScript中eval函數(shù)的問(wèn)題,需要的朋友可以參考下2016-01-01JavaScript設(shè)計(jì)模式之觀(guān)察者模式(發(fā)布者-訂閱者模式)
這篇文章主要介紹了JavaScript設(shè)計(jì)模式之觀(guān)察者模式(發(fā)布者-訂閱者模式),本文詳細(xì)的講解了JavaScript中的觀(guān)察者模式,需要的朋友可以參考下2014-09-09JavaScript 中實(shí)現(xiàn) use strict的方法及優(yōu)勢(shì)
本教程將討論JavaScript中的use strict特性,在這里,我們將通過(guò)不同的示例了解如何在JavaScript代碼語(yǔ)句中創(chuàng)建和執(zhí)行use strict關(guān)鍵字,需要的朋友可以參考下2023-09-09JS攜帶參數(shù)實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)功能
這篇文章主要介紹了js攜帶參數(shù)實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn),實(shí)現(xiàn)方法也很簡(jiǎn)單,方式一是跳轉(zhuǎn)路徑攜帶參數(shù),第二種方法是通過(guò)sessionStorage傳遞,需要的朋友可以參考下2022-11-11