




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
DOM的官方定義DOMDocumentObjectModel文檔對象模型。DOM的官方定義:W3C的DOM,可以使程序或腳本(JS或AS、JScript),動態的訪問或操作文檔的內容、結構、樣式。DOM只是一個標準,就是操作網頁的標準。而這個標準(模型)在瀏覽器中,以“對象”的方式實現。DOM的分類核心DOM:提供了操作HTML文檔(顯示)或XML文檔(存儲數據)的公共的屬性和方法。HTMLDOM:針對HTML文檔,提供的專有的屬性和方法。XMLDOM:針對XML文檔,提供的專有的屬性和方法。EventDOM:事件DOM,提供了很多的常用事件。CSSDOM:提供了操作CSS的一個接口。HTML節點樹<metahttp-eqlliv=Content-Typecontent=text/htrnl《title)無標即文檔<7title;</head>fbody)align=*center*>Stablewidth=*500vborder=*lalign=*center*><tr><td>姓名<td>性別0td>年韶<Vtd></tr><tr>周更生Gd3男HT肛節點樹HT肛節點樹</tr></table></body>DOM中節點的類型:document文檔節點:代表整個網頁,document文檔節點不對應標記。是訪問文檔中各元素的起點。element元素節點:元素節點對應于網頁中的各標記。attribute屬性節點:每個元素都有若干個屬性。text文本節點:文本節點是最底層節點。核心DOM公共屬性和方法nodeName:節點名稱。nodeValue:節點的值。firstChild:第一個子節點。lastChild:最后一個子節點。parentNode:父節點。childNodes:子節點列表,是一個數組。節點訪問為什么,document.firstChild找到的不是HTML節點呢?DOM是針對HTML4.01開發的。我們現在是XHTML1.0DOM是針對HTML4.01開發的。我們現在是XHTML1.0。所以,要想使用核4DOM中的屬性和方法,必須去掉DTD類型定義。[objectHTMLHtmlElement]第一個HTML是指HTML文檔。經過7操作以后,一定變成對象類型。指<出血》標記為什么,node_body.firstChild找不到table節點?在Firefox下,會把空格或換行,當成一個文本節點。因此,所有標記之間的空格和換行,都去掉。查找html節點的方法document.firstChilddocument.documentElement(兼容性較好)查找body節點的方法document.firstChild.lastChilddocument.body(推薦使用)節點屬性1、getAttribute()獲取屬性的值描述:獲取節點屬性的值。語法:nodeObj.getAttribute(name)參數:name代表當前節點的某個屬性。舉例:varsrc=imgObj.getAttribute(“src”)2、setAttribute()添加屬性描述:給某個節點添加屬性。語法:nodeObj.setAttribute(name,value)參數:name代表屬性名稱。value代表屬性的值。舉例:imgObj.setAttribute(“src”,“images/02.jpg")
3、removeAttribute()刪除屬性描述:刪除某個節點的屬性。語法:nodeObj.removeAttribute(name)?舉例:imgObj.removeAttribute(“src”)18192018192021222324=252627〃給變量賦不同的值,〃給變量及一個函數,vara="已be”;vara=100;vara=[10,]:vara=function()alert0K");a();則變量就是不同類型則變量就是函數型I262728=29262728=29303132〃當網頁加載完成,調用JS程序〃匿名函數;就是沒有名字的函數匚〃匿名函數,不能單獨定義,也不能單獨調用〃匿名函數,只能作為數據傳給其它變量window,onload=function0〃查找img節點varimgObj=document,body.firstChild;//添加3rc屬性LrngObj.seti^ttribute(^src'\,images/01.jpg");//添加用idth屬性imgObj.setAttribute("width”,400);〃添加bord巳r屬性imgObj.setx^ttribute("border2);〃添加sty1巳屬性imgObj.setx4ttribute“padding:20px");//添加one1ick屬性LrngObj.setx^ttribute(^onclick",Vremovelmg(this);}〃函數:刪除宅『。屬性Ifunctioi^removeling(imgObjj“刪除£江屬性_*.imgObj.1'tmuveAttributeCsreP):imgObj.remcveAttribute("width")節點操作createElement()創建節點?語法:varnodeObj=document.createElement(tagName)appendChild()追加節點?語法:parentNode.appendChild(childNode)課堂實例:隨機顯示小星星<scripttype="text/javascript">//實例:隨機顯示小星星/*(1)網頁加載完成,背景色為黑色(2)創建圖片節點,并追加到body父節點下(3)定時器(4)星星隨機大小(5)星星隨機定位(6)單擊星星,星星消失。*/window.onload=function(){document.body.bgColor="#000";//定時器開關window.setInterval("start2()",1000);}functionstart2(){//創建圖片節點varimgObj=document.createElement("img");〃追加到body節點document.body.appendChild(imgObj);〃添加src屬性imgObj.setAttribute("src","images/xingxing.gif");〃添加width屬性varimgWidth=getRandom(15,85);imgObj.setAttribute("width",imgWidth);〃添加style屬性varwinWidth=window.innerWidth?window.innerWidth:document.documentElement.clientWidth;varwinHeight=window.innerHeight?window.innerHeight:document.documentElement.clientHeight;varx=getRandom(0,winWidth);vary=getRandom(0,winHeight);imgObj.setAttribute("style","position:absolute;left:"+x+"px;top:"+y+"px");//單擊刪除星星imgObj.setAttribute("onclick","removeImg(this)");}functionremoveImg(imgObj)
〃刪除子節點imgdocument.body.removeChild(imgObj);}functiongetRandom(min,max){varrandom=Math.random()*(max-min)+min;//向下取整random=Math.floor(random);//返回值returnrandom;}</script>HTMLDOM簡介和新特性在核心DOM中,已經可以實現對網頁元素的操作了,為什么還要有HTMLDOM呢?因為,核心DOM中,對節點的訪問,都是從根節點開始的,訪問方式十分麻煩。特別是當節點層次很深時,更是麻煩。因此,才有了HTMLDOM。1、HTMLDOM的新特性每一個HTML標記,都對應一個對象。如:<img>標記,就是一個img對象。每一個HTML標記的屬性,與對應的元素對象的屬性,——對應。?<img>屬性:src、width、height、border、style、title、id、class等。?在JS中,img對象屬性:src、width、height、border、style、title、id、className等。〃網頁加載完成后,調用盛名函數89■10111213U89■10111213U1516171819202122”獲取<11110元素對象varimgOb,i=document,body,firstChild;〃添加imgObj對象屬性■■■■imgObj,AtTributeCsrcf\,'■"images/0I.jpg");imgObj.src="imageS//Ol.jp?:";inigObj\width=400TimgObj.border-2:imgObj.style=^border:5pxdottedred;padding:LOpx;background-color:yellow;C/script^</hes.Ll,(bodyimg/)C/bocl;.7112、HTMLDOM訪問HTML元素的方法(1)根據元素的id查找對象document.getElementById(id)67678910111213141516171819207890123456789012345ox-〈scripttvpe=vtext/javascriptv>〃網頁加載完成,調用匿名函數window,onload=function0〃獲取id二imgOl的圖片對象varimgObj=document.getElementByldimgOly7);〃添加屬性**imgObj.src=vimages/01.jpg”;imgObj.width=400;〈/script)</head>〈body><inigid="img01”/>2、根據HTML標簽名找對象描述:根據HTML標簽名找對象語法:vararr=parentNode.getElementsByTagName(tagName)參數:tagName就是要查找的標簽名稱,不能帶尖括號。parentNode代表上層節點。?返回值:返回一個對象數組。?舉例:ulObj.getElementsByTagName(“li”)window,onload=init;functioninit()?//猶取id=uOl的兀素對象varulObj=document.getElementBvId("uOl");〃獲取所有的li的元素對象”.fvararr=ulObj.getElementsBvTagXame11");〃循環數組..0for(vari=0;i<arr.length;i++)arr[i].style=vcolor:blue;text-decoration:underline;arr[i].onmouseover=function。]/7yellowv;this,/7yellowv;}arr[i].onmouseollt=function(){this.stvle.backgroundColor=}2829=2829=303132333435?tagName:與nodeName功能一樣。?className:與class屬性功能一樣。?innerHTML:設置或讀取某個標記中的所有內容,包括HTML文本。只能用于雙邊標記。?nodeValue:指純文本。?offsetWidth:指元素的可見寬度,不含滾動條中的內容。只讀屬性。不帶px單位。?offsetHeight:指元素的可見高度,不含滾動條中的內容。只讀屬性。不帶px單位。?scrollWidth:指元素的總寬度,包含滾動條中的內容。只讀屬性。不帶px單位。?scrollHeight:指元素的總高度,包含滾動條中的內容。只讀屬性。不帶px單位。?scrollTop:當元素出現滾動條時,向下拖動滾動條,內容向上滾動的距離。可讀可寫屬性。不帶px單位。?如果該元素沒有滾動條,則scrollTop的值為0,該值只能是正值。?scrollLeft:與scrollTop描述一樣,只是向左滾動的距離。<body,<111id="uOL"><li》HTML超文本標注語言<li》CSS層疊樣式表</Li>i〉JavaScript^戶端腳本程序</Li><1i>Apa<2he服務器</li〉</ul></body>元素對象的屬性88■9101112131415161718functionshowInfa0〃獲取id-contentfC1<1=1'一口1工對象vardivObj-dorument,^etEementByldCcc'ntent):varresultObj-document..gerElementByldCresult");〃獲取內容<50的相關信息varstr="可見寬度:"+divObj.可見高度:"-HdivObj.offsetHeight;str+=點寬度.1"+divQbj.自<?rollWidth+”,總高度:"+divObj.scrollH曰:Lght;str+=":二r向上;餐動的距離:fdivObj\scrollTop,//將結果寫入到結果<di心中rest]ItObj.Lnnei't:TjJ.=str,
2122=23242526272S292122=23242526272S29#content:width:630px;height:300px;tiiargi:!:Opxauto;border:Ipxsolidred;font-size:18px;overflow:auto;/*溢出屬性*/v/<;rv1p>事件:onscroll?描述:當拖動滾動條時發生。京洋時3砰對沖京洋時3砰對沖M:若通黑…我們臺灣這些年;兩言,陶銷萩堆推薦:精品套書吼,2010版法律碩士聯考狂75計算書1新書概哇書75折搶購弗浩伊德作品精質59圻布蔗派贏贏鬲褊根威隹本四大名著(人品W“口述歷史權威唐德剛先生國…
345678901234567890123333333334444444444555〃網345678901234567890123333333334444444444555vardome;?'/全.局變量vartimer;,定時器變量window,onload=function。〃獲取三個〈div》對象時,,dome=document.getElementByld("dome/7);vardomel-document.getElementByldCdomel/J;;vardome2=document.getElementByldCdome2://將dome的高,復制給dom巳1和dome2domel.style,height=dome.offsetHeight+"px”;dome2.style,height=dome.offsetHeight.+“px”;〃將domel的內容,復制至[Jdonie2中dome2.innerHTML=domel.innerHTUL;〃鼠標放上停止滾動,鼠標移出繼續滾動dome,onmouseover=function。:〃清除定時器window,clearInterval(timer);)dome,onmouseout=fu.nction(){tinier-window,setIntervaltart2,40);3456789012345678955555556666666666〃定時器,,timer=3456789012345678955555556666666666〃定時器,,timer=window,setinterval(H/start2()40);■:funciionstart20〃如果滾動上去的距離,等于任何一個〈div)高度,〃則開始下一次滾動if(dome,scrol1'1_op==dome,offsetHeight)dome.scrollTop=0;/elsedome.scrollTop++J(/script></head>EventDOM1、事件簡介事件可以實現人機交互,或者與網頁的交互。當網頁加載完成(onload),更改網頁背景色(功能函數)。2、事件屬性每一個HTML標記的屬性,與元素對象的屬性,一一對應。每一個HTML標記的事件屬性,與元素對象的事件屬性,也是一一對應。
HTML中的事件屬性:onMouseOver、onLoad、onClickJS中的事件屬性:onmouseover、onload、onclick注意:JS中的事件屬性,要全小寫。提示:事件發生后,調用的一定是JS函數,不管是有名函數,還是匿名函數。Event對象簡介當事件發生時,會自動向事件調用函數,傳遞一個event參數。那么,這個event參數,就是event對象。Event對象的作用:可以獲取當前事件發生時的環境信息。如:點擊時的坐標值。Event對象是短暫存在的,也就是:當一個新的事件發生時,這個event對象就消失了。每時每刻,只能有一個事件發生。每時每刻,只能有一個event對象產生。DOM中Event對象一一標準瀏覽器(火狐、谷歌)1、DOM中引入Event對象(1)通過HTML標記的事件屬性來傳遞event對象提示:在傳遞event時,該event參數,必須全小寫,并且不能加引號。<scridttvpe="Jrestiavascript-v>〃實例:單擊圖片,虛示坐標值function^et_xy(e)varstr="窗口左邊距離:'+已cli曰門t)(十]窗口上邊三離:clientY;str-="\門網頁左邊距離:"+&pageX十=網頁頂邊距離:"+e.pwY;str-二,門扉幕左邊距離:"+巳,Mere埒nX+”:屏幕頂邊距離:^+e.screenY;str-="\門事徉類型工J+e.type;alert(str);:?飛uript)</rheacl>(body%<img胃idth="400”=images■''01.jpg"onClick=,z(body%<img胃idth="400”(2)使用元素對象的事件屬性來傳遞event對象78901234567890123456777890123456789012345677891011121314151617181920〃實何:簞擊圖片,豆示坐標值window,onloac=function()〃獲取id=imgO1.的元素對象vaiimgObj=document.getE_ementBvld('LmgUl'J:〃綁定scliuk事件:這種情況不能帶括號,也不能傳參數/但是,第一個形參,就是event好象「imgObj.onelick=getKy傳地址,不帶括號functiongcz_xy(e)/「必須接收ev七nt參數varsur-“窗口左邊距離:"+u.clieirtX,,窗口上邊距離:""+e.clientYTstr+="\n網頁左邊距/;"+電pagsX+",網頁頂邊距離:"+e.pageY;str十="\n屏幕左邊距離工"+e.區cr日后nX+:屏靠頂邊距離工ff+e.screenY;str+=事徉類型:"+e.type;cnlert(5tr);}</scripr></head|<body、<i:ngi[:=z/imgO1<rwidth="4OCT'src=zimages01./)2、DOM中Event對象屬性type:事件類型clientX和clientY:相對瀏覽器窗口的坐標。pageX和pageY:相對網頁左端和頂端的距離。screenX和screenY:相對顯示屏幕左端和頂端的距離。IE中Event對象在IE中,event是window對象的一個屬性。如:window.event或event1、IE中引用Event對象〃實例工在1E中,獲取鼠
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國6-氨基己酸數據監測報告
- 2025年中國15%甲硫.霉威懸浮劑數據監測報告
- 2025至2030年中國高效脫硫麻石水膜除塵器市場分析及競爭策略研究報告
- 2025至2030年中國門框滾壓成型機市場分析及競爭策略研究報告
- 2025至2030年中國金屬清洗兼防銹劑市場分析及競爭策略研究報告
- 2025至2030年中國視頻資料服務管理系統市場分析及競爭策略研究報告
- 2025至2030年中國膠帶輸送自動調偏器市場分析及競爭策略研究報告
- 2025至2030年中國管道自動增壓泵市場分析及競爭策略研究報告
- 2025至2030年中國白晶粉市場分析及競爭策略研究報告
- 2025至2030年中國浮雕雙龍棍劍市場分析及競爭策略研究報告
- PSS的生產工藝及原理課件
- 2023-2024學年浙江省富陽市小學數學五年級下冊期末自測試卷
- 防火墻安全策略檢查表
- 研究借鑒晉江經驗-加快縣域經濟發展
- GB/T 12706.4-2020額定電壓1 kV(Um=1.2 kV)到35 kV(Um=40.5 kV)擠包絕緣電力電纜及附件第4部分:額定電壓6 kV(Um=7.2 kV)到35 kV(Um=40.5 kV)電力電纜附件試驗要求
- 2023年鎮江丹陽市民政局系統事業單位招聘筆試模擬試題及答案
- 國開電大 操作系統 實驗4:文件管理實驗報告
- 北京理工附中小升初分班考試真題
- 安徽省小學學生學籍表
- 無創腦血氧監護儀技術審評報告
- 糖尿病足的診斷與治療ppt課件
評論
0/150
提交評論