亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

了解javascript中的Dom操作

2024-05-06 16:51:29
字體:
來源:轉載
供稿:網友

DOM(Document Object Model):

結點的概念:整個文檔就是由層次不同的多個節點組成,可以說結點代表了全部內容。

結點類型

1.元素結點
2.屬性結點
3.文本結點

結點的注意點:

1.文本節點和屬性結點都看作元素結點的子結點
2.我們一般所說的結點指的就是元素結點,將html標簽看作是一個對象,并用“結點”稱呼它
3.結點的關系有:父子關系、兄弟關系

1.獲取元素結點

1)直接獲取

① document.getElementById()
② document.getElementsByName()
③ document.getElementsByTagName()

2)間接獲取

父子關系
firstChild lastChild childNodes

子父關系
parentNode

兄弟關系
nextSibling previousSibling

2.操作屬性結點

1)通過對象“.”屬性,來操作屬性
優:可以動態獲取用戶修改的屬性值
缺:不能獲取自定義屬性的值

2)getAttribute("key") setAttribute("key","value") removeAttribute("key")
優:可以獲取自定義屬性的值
缺:不能動態獲取用戶修改的屬性值

3.處理文本結點

1) 通過對象.innerText 獲取標簽內部的文本信息

2) 通過對象.innerHTML 獲取標簽內部的HTML代碼

4.動態改變DOM結構

1)創建一個結點對象
document.createElement("標簽名")

2)(父結點)追加子結點對象
fatherNode.appendChild(子結點對象)

3)(父結點)在指定結點前添加子結點
fatherNode.insertBefore(新結點對象,參考結點對象)

4)(父結點)替換舊的子結點對象
fatherNode.replaceChild(新結點對象,舊結點對象)

5)(父結點)刪除舊子結點對象
fahterNode.removeChild(舊結點對象)

5.動態改變元素的CSS樣式(不重要)

1)我們通過對象.style屬性操作對象的css樣式:樣式名稱中有“-”將“-”去掉,并將“-”后一個字母改為大寫來作為樣式的新名稱

2)我們希望通過class為一個對象添加一個class樣式,添加屬性名是className,而并非class(class是js的關鍵字,并能作為屬性名存在)

<script type="application/javascript">//1.獲取元素結點//1)直接獲取// ① document.getElementById()function getEle1(){var obj=document.getElementById("userid")console.log(obj)}// ② document.getElementsByName()function getEle2() {// 獲取的是一個數組var obj = document.getElementsByName("fav");console.log(obj)}// ③ document.getElementsByTagName()function getEle3(){var obj = document.getElementsByTagName("input");console.log(obj);}function getEle4(){var father = document.getElementById("regForm");var sons = father.childNodes;// 獲取指定位置console.log(sons[1]);// firstChild 獲取第一個console.log(father.firstChild);// lastChild 獲取最后一個console.log(father.lastChild);}// 子父關系 parentNodefunction getEle5(){var son = document.getElementById("userid");console.log(son.parentNode)}// 兄弟關系 nextSibling 下一個對象 //previousSibling當前結點的前一個結點返回緊鄰當前元素之前的元素function getEle6(){var bro = document.getElementById("userid");console.log(bro.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling);bro.previousSibling}function getField1(){var obj = document.getElementById("nickid");//console.log(obj.type);//將昵稱的樣式改為password//obj.type = "password";var objval = obj.getAttribute("name");console.log(objval);obj.setAttribute("abcd","5678");obj.removeAttribute("type");// 可以獲取改變后的屬性console.log(obj.value)// 只能獲取初始定義的屬性console.log(obj.getAttribute("value"));}// 1) 通過對象.innerText 獲取標簽內部的文本信息function getText1(){var myDiv = document.getElementById("myDiv");console.log(myDiv.innerText);}// 2) 通過對象.innerHTML 獲取標簽內部的HTML代碼function getText2(){var myDiv = document.getElementById("myDiv");console.log(myDiv.innerHTML);}// 添加文本function getText3(){var myDiv = document.getElementById("myDiv");myDiv.innerText = "<img src='1.jpg' />";}// 添加代碼function getText4(){var myDiv = document.getElementById("myDiv");myDiv.innerHTML = "<img src='1.jpg' />";}</script></head><body><button onclick="getEle1();">點我測試1</button><button onclick="getEle2();">點我測試2</button><button onclick="getEle3();">點我測試3</button><button onclick="getEle4();">點我測試4</button><button onclick="getEle5();">點我測試5</button><button onclick="getEle6();">點我測試6</button><hr/><button onclick="getField1();">屬性測試1</button><hr/><button onclick="getText1();">文本測試1</button><button onclick="getText2();">文本測試2</button><button onclick="getText3();">文本測試3</button><button onclick="getText4();">文本測試4</button><hr/><form id="regForm">用戶名:<input id="userid" type="text" name="username"><br/>密碼:<input type="password" name="password"><br/>昵稱:<input id="nickid" type="text" name="nickname" value="大名鼎鼎" abcd="1234" ><br/>性別:男<input type="radio" name="gender" value="nan">  女<input type="radio" name="gender" value="nv"><br/>愛好:狗<input type="checkbox" name="fav" value="dog">貓<input type="checkbox" name="fav" value="cat">羊駝<input type="checkbox" name="fav" value="yt"><br/><input type="submit" value="注冊"></form><div id="myDiv"><b>hello</b></div></body>

動態改變DOM結構

1)創建一個結點對象

document.createElement("標簽名")

<script type="application/javascript">function changeDom1(){var ipt=document.createElement("input");}</script><button onclick="changeDom1();">創建結點對象</button>

2)(父結點)追加子結點對象

fatherNode.appendChild(子結點對象)

function changeDom2() {var father = document.getElementById("regForm");var ipt = document.createElement("input");ipt.type = "text";father.appendChild(ipt);}<button onclick="changeDom2();">追加子結點對象</button>

3)(父結點)在指定結點前添加子結點

fatherNode.insertBefore(新結點對象,參考結點對象)

function changeDom3() {var father = document.getElementById("regForm");var refChild = document.getElementById("brid");var newChild = document.createElement("input");newChild.type = "text";father.insertBefore(newChild, refChild);}<button onclick="changeDom3();">插入子結點對象</button>

4)(父結點)替換舊的子結點對象

fatherNode.replaceChild(新結點對象,舊結點對象)

function changeDom4() {var father = document.getElementById("regForm");var refChild = document.getElementById("brid");var newChild = document.createElement("input");newChild.type = "text";father.replaceChild(newChild, refChild);}<button onclick="changeDom4();">替換子結點對象</button>

5)(父結點)刪除舊子結點對象

function changeDom5() {var father = document.getElementById("regForm");var refChild = document.getElementById("nickid");father.removeChild(refChild);}<button onclick="changeDom5();">刪除子結點對象</button>

動態改變元素的CSS樣式(不重要)

<style type="text/css">.addstyle{color: red;font-size: 72px;text-decoration: underline;}</style><script type="application/javascript">/*5.動態改變元素的css樣式1)我們通過對象.style屬性操作對象的css樣式:樣式名稱中有“-”將“-”去掉,并將“-”后一個字母改為大寫來作為樣式的新名稱2)我們希望通過class為一個對象添加一個class樣式,添加屬性名是className,而并非class(class是js的關鍵字,并能作為屬性名存在)*/function fontGreater(){var myDiv = document.getElementById("myDiv");console.log(myDiv);myDiv.style.fontSize = "36px";myDiv.style.fontFamily = "宋體";}function changeFont(){var myDiv = document.getElementById("myDiv");myDiv.className = "addstyle";//myDiv.setAttribute("class","addstyle");}</script></head><body><button onclick="fontGreater()">放大字體</button><button onclick="changeFont()">添加樣式</button><div id="myDiv" >你好世界!</div></body>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人网址在线观看| 国模精品视频一区二区三区| 成人精品一区二区三区电影免费| 精品视频—区二区三区免费| 成人亲热视频网站| 91久久精品在线| 国产精品96久久久久久| 国产视频丨精品|在线观看| 热门国产精品亚洲第一区在线| 国产精品一区二区三区久久| 精品国产区一区二区三区在线观看| 国产成人精品电影久久久| 国产中文欧美精品| 日韩av免费观影| 色与欲影视天天看综合网| 国产精品激情av电影在线观看| 色综合久久中文字幕综合网小说| 亚洲日本中文字幕免费在线不卡| 国产成人综合一区二区三区| 亚洲色图av在线| 亚洲国产精品va在线观看黑人| 国内精品免费午夜毛片| 在线亚洲欧美视频| 国模gogo一区二区大胆私拍| 色噜噜狠狠色综合网图区| 欧美精品video| 亚洲视屏在线播放| 福利一区福利二区微拍刺激| 日韩av大片免费看| 欧美大片在线影院| 亚洲理论在线a中文字幕| 国产精品福利久久久| 久久久www成人免费精品| 高清日韩电视剧大全免费播放在线观看| 红桃av永久久久| 国产九九精品视频| 国外成人在线直播| 久久99国产精品自在自在app| 国产精品2018| 精品夜色国产国偷在线| 久久久视频免费观看| 久久国产精品99国产精| 日韩动漫免费观看电视剧高清| 久久久久99精品久久久久| 久久这里只有精品视频首页| 中文字幕亚洲二区| 国产视频精品免费播放| 久久久久久一区二区三区| 国产国语刺激对白av不卡| 欧美激情精品久久久久久大尺度| 亚洲福利视频专区| 亚洲一级黄色片| 国产一区视频在线| 精品中文字幕在线观看| 日韩高清欧美高清| 国产精品视频在线观看| 色妞色视频一区二区三区四区| 日韩亚洲欧美中文高清在线| 色樱桃影院亚洲精品影院| 亚洲精品在线视频| 国产亚洲视频中文字幕视频| 久久久久国产一区二区三区| 国产精品电影在线观看| 国产日韩欧美中文在线播放| 韩剧1988免费观看全集| 精品调教chinesegay| 一本色道久久88综合亚洲精品ⅰ| 久久久亚洲影院| 久久久视频在线| 欧美一区二区三区免费视| 欧美又大又硬又粗bbbbb| 91精品国产综合久久久久久蜜臀| 国产va免费精品高清在线| 久久久女人电视剧免费播放下载| 亚洲精品国产suv| 亚洲第一二三四五区| 2019中文字幕免费视频| 久久久精品视频成人| 日韩av影视在线| 国内精品中文字幕| 55夜色66夜色国产精品视频| 欧美日韩一区二区在线| 不卡av在线网站| 中文字幕亚洲欧美日韩在线不卡| 日韩亚洲国产中文字幕| 国产97人人超碰caoprom| 欧美猛少妇色xxxxx| 亚洲18私人小影院| 福利视频一区二区| 国产精品精品一区二区三区午夜版| 欧美日韩综合视频网址| 97色伦亚洲国产| 久久久免费高清电视剧观看| 久久久精品国产| 最近2019中文免费高清视频观看www99| 欧美亚洲一级片| 欧美精品videosex牲欧美| 亚洲老板91色精品久久| 日本精品免费一区二区三区| 国产午夜精品视频免费不卡69堂| 久久久av免费| 伊人男人综合视频网| 成人久久18免费网站图片| 欧美裸体xxxx| 国产精品高潮呻吟久久av无限| 成人欧美一区二区三区黑人孕妇| 日韩欧亚中文在线| 55夜色66夜色国产精品视频| 成人黄色免费片| 97精品一区二区视频在线观看| 久久视频免费在线播放| 九九热这里只有精品免费看| 欧美激情亚洲自拍| 高清欧美性猛交xxxx| 亚洲综合色av| 成人有码在线播放| 国产中文日韩欧美| 伊人久久久久久久久久| 国产精品久久久久久久久久久不卡| 国产精品wwww| 91久久国产综合久久91精品网站| 不卡伊人av在线播放| 欧美日韩午夜剧场| 日产精品久久久一区二区福利| 九九视频直播综合网| 日韩在线资源网| www国产亚洲精品久久网站| 欧美夫妻性生活视频| 欧美激情亚洲视频| 久久久精品国产亚洲| 欧美在线性视频| 久久久久久久久久av| 亚洲欧洲在线看| 九色91av视频| 韩国v欧美v日本v亚洲| 欧美一区二区色| 8050国产精品久久久久久| 久久久亚洲福利精品午夜| 欧美成人午夜剧场免费观看| 亚洲人在线视频| 国产精品海角社区在线观看| 亚洲色图第三页| 一本大道香蕉久在线播放29| 国产精品扒开腿做爽爽爽男男| 久久人人爽国产| 亚洲国产成人精品电影| 亚洲女同精品视频| 久久精品中文字幕电影| 亚洲精品视频中文字幕| 久久久久五月天| 亚洲第一天堂av| xxxxx91麻豆| 亚洲欧美综合精品久久成人| 在线播放国产精品| 69av成年福利视频| 夜夜嗨av色一区二区不卡| 中文字幕亚洲一区在线观看| 日本精品久久久久久久| 久久精品国产2020观看福利| 精品成人国产在线观看男人呻吟| 亚洲精品中文字幕女同| 亚洲aⅴ男人的天堂在线观看| 国产精品久久99久久| 91深夜福利视频|