日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript教程之DOM和BOM

發(fā)布時間:2025/3/20 javascript 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript教程之DOM和BOM 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一:DOM操作

##1、 介紹 ##
dom: document object model 文檔對象模型
DOM可以讓我們通過javascript語言對html文檔進(jìn)行增、刪、改、查操作。

為了方便javascript語言通過dom操作html文檔比較方便,把html文檔的各個組成內(nèi)容劃分為各種節(jié)點(diǎn)(對象):
文檔節(jié)點(diǎn)(document),其是html根節(jié)點(diǎn)的父節(jié)點(diǎn)
元素節(jié)點(diǎn)
文本節(jié)點(diǎn)
屬性節(jié)點(diǎn)
注釋節(jié)點(diǎn)

以下的代碼都以這個為例子程序:

<html><head><title>這是一個title</title></head><body><h1>例子程序</h1><input id="username" name="username" type="text" value="sihai"/><input id="password" name="password" type="text" value="123"/></body></html>

2、元素節(jié)點(diǎn)的獲取

具體操作方法:

① document.getElementById(id屬性值);每次只返回一個具體元素節(jié)點(diǎn)對象 ② document.getElementsByTagName(tag標(biāo)簽名稱);每次返回一個“集合列表”對象,可以通過下標(biāo)方式變?yōu)榫唧w元素對象: 列表[下標(biāo)] 或 列表.item(下標(biāo)) ③ document.getElementsByName(name屬性值);不推薦使用,有瀏覽器兼容問題,有的瀏覽器針對form表單域才可以使用該方法。通常應(yīng)用在form表單里邊,返回的信息同 var username = document.getElementById("username"); console.log(username);var in = document.getElementsByTagName("input"); console.log(in[0]); console.log(in.item[0]);

3、文本節(jié)點(diǎn)獲取

<div>hello JavaScript</div>

需要借助div元素節(jié)點(diǎn)再獲得其內(nèi)部的文本節(jié)點(diǎn):
div元素節(jié)點(diǎn)對象.firstChild; //或調(diào)用lastChild,獲得節(jié)點(diǎn)內(nèi)部的第一個子節(jié)點(diǎn)
文本節(jié)點(diǎn).nodeValue; //獲得文本節(jié)點(diǎn)對應(yīng)的文本信息

var h = document.getElementByTagName("h1"); console.log(h[0].firstChild);//<TextNode textContent="例子程序"/> console.log(h[0].lastChild.nodeValue);//例子程序

4、子節(jié)點(diǎn)/兄弟節(jié)點(diǎn)

firstChild、lastChild:父節(jié)點(diǎn)獲得第一個/最后一個子節(jié)點(diǎn) nextSibling:獲得下一個兄弟節(jié)點(diǎn) previousSibling:獲得上一個兄弟節(jié)點(diǎn) childNodes:父節(jié)點(diǎn)獲得內(nèi)部全部的子節(jié)點(diǎn)信息 length: 獲得“集合列表”的長度**注意:**以上屬性在主流瀏覽器(火狐firefox、chrome、safari、opera、IE9以上)中會給考慮空白節(jié)點(diǎn)(回車、空格)。在IE(6/7/8)瀏覽器中不考慮空白節(jié)點(diǎn)。 空白節(jié)點(diǎn)本質(zhì):其是文本節(jié)點(diǎn) <ul><li>上海</li><li>廣州</li> </ul> var u = document.getElementByTagName("ul"); console.log(u[0].childNodes.length);//5 console.log(u.firstChild); console.log(u.firstChild.nextSibling);

5、父節(jié)點(diǎn)

節(jié)點(diǎn).parentNode;

6、屬性操作

6.1、屬性值操作:

① 獲取屬性值 元素節(jié)點(diǎn)node.屬性名稱; //只能操作w3c規(guī)定的屬性 元素節(jié)點(diǎn)node.getAttribute(屬性名稱); //規(guī)定的 和 自定義的屬性都可以獲取 ② 設(shè)置(修改)屬性值 元素節(jié)點(diǎn)node.屬性名稱 = 值; //只能操作w3c規(guī)定的屬性 元素節(jié)點(diǎn)node.setAttribute(名稱,值); //規(guī)定的 和 自定義的屬性都可以設(shè)置

6.2、屬性節(jié)點(diǎn)獲取:

var attrlist = 元素節(jié)點(diǎn)對象.attributes; //以“數(shù)組列表”形式返回對應(yīng)節(jié)點(diǎn)內(nèi)部的全部屬性節(jié)點(diǎn)信息 attrlist.屬性名稱; //獲得具體屬性節(jié)點(diǎn)獲得節(jié)點(diǎn)類型nodeType: 節(jié)點(diǎn).nodeType: 1------> 元素節(jié)點(diǎn) 2------> 屬性節(jié)點(diǎn) 3------> 文本節(jié)點(diǎn) 9------> 文檔節(jié)點(diǎn) var in = document.getElementByTagName("input")[0]; console.log(in.attributes);//[type="text" , name="username",value="sihai"] console.log(in.attributes.type);//type="text" console.log(in.attrubutes.name.nodeType);//2 屬性節(jié)點(diǎn)

7、節(jié)點(diǎn)創(chuàng)建和追加

節(jié)點(diǎn)創(chuàng)建 元素節(jié)點(diǎn):document.createElement(tag標(biāo)簽名稱); 文本節(jié)點(diǎn):document.createTextNode(文本內(nèi)容); 屬性設(shè)置:node.setAttribute(名稱,值); 節(jié)點(diǎn)追加: 父節(jié)點(diǎn).appendChild(子節(jié)點(diǎn));父節(jié)點(diǎn).insertBefore(newnode,oldnode); //newnode放到oldnode的前邊父節(jié)點(diǎn).replaceChild(newnode,oldnode); //newnode替換到oldnode節(jié)點(diǎn)

8、節(jié)點(diǎn)復(fù)制

被復(fù)制節(jié)點(diǎn).cloneNode(true/false); true:深層復(fù)制(本身節(jié)點(diǎn) 和 其內(nèi)部節(jié)點(diǎn)) false:淺層復(fù)制 (本身節(jié)點(diǎn))

9、節(jié)點(diǎn)刪除

父節(jié)點(diǎn).removeChild(子節(jié)點(diǎn)); 子節(jié)點(diǎn).parentNode.removeChild(子節(jié)點(diǎn));

10、dom對css樣式的操作

<div style=”width:300px;height:200px; background-color:pink;”></div> ① 獲取css樣式元素節(jié)點(diǎn).style.css樣式名稱;divnode.style.width; //獲取寬度樣式 ② 設(shè)置css樣式(有則修改、沒有則添加)元素節(jié)點(diǎn).style.css樣式名稱 = 值;divnode.style.width =‘500px’;設(shè)置div寬度樣式注意: ① dom操作css樣式只能操作“行內(nèi)樣式”(css樣式分為 行內(nèi)、內(nèi)部、外部) ② 操作復(fù)合樣式例如background-color/border-left-color,font-size 需要變?yōu)閎ackgroundColor、borderLeftColor,fontSize中恒線去掉,后邊首字母大寫。(原因:javascript的變量命名規(guī)則不允許有“-”中橫線) ③ 修改樣式,有則修改、無則新增,修改后的樣式變?yōu)樾袃?nèi)樣式

二、BOM

DOM:document object model(文檔對象模型) BOM:browser object model(瀏覽器對象模型) 通過BOM技術(shù)可以模擬瀏覽器對頁面進(jìn)行各種操作:創(chuàng)建子級標(biāo)簽頁面、操作歷史記錄頁面、操作地址欄等等

總結(jié)

以上是生活随笔為你收集整理的JavaScript教程之DOM和BOM的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 秋霞欧美一区二区三区视频免费 | 国产美女视频免费观看下载软件 | 奇米影视在线视频 | 不卡的av在线免费观看 | 日韩伦乱| 四虎免费看黄 | 国产精品主播一区二区 | 亚洲电影在线看 | 一区二区韩国 | 国产午夜啪啪 | 91中文字幕在线 | 日本视频h | 欧美成网站 | 天天爽一爽 | 日韩免费看片 | 30一40一50女人毛片 | 日本一区二区三区免费在线观看 | 欧美日韩精品国产 | 97福利视频 | 无码人妻精品一区二区 | 十大黄台在线观看 | 欧美性精品 | 亚洲精品久久久久久久久久久久久 | 今天高清视频在线观看视频 | 天天cao| 色屁屁www影院免费观看入口 | 无码乱人伦一区二区亚洲 | 亚洲一区国产精品 | 久久老司机精品视频 | 波多一区 | 国产美女免费无遮挡 | 热热av| 依人成人网 | 亚洲一区成人在线 | 久久99久久99精品蜜柚传媒 | 国产精品无码av无码 | 91在线在线 | 久久亚洲AV无码 | 私密spa按摩按到高潮 | 欧美一本 | 人妻视频一区二区三区 | 国产日韩视频在线观看 | 欧美精品99久久 | 亚洲涩涩网 | 国产99久久久欧美黑人 | 国产在线视频一区二区三区 | 天天操婷婷 | www.四虎.com | 日韩精品视频网 | 天堂中文资源在线 | 国产亚洲精品一区二区三区 | 成人午夜在线观看 | 99成人在线观看 | 国产第一页在线观看 | 国产视频一区二区在线播放 | 艳妇乳肉豪妇荡乳av | 九九视频免费 | 2023天天操| 欧亚av | 污污的视频网站在线观看 | 中文av资源 | 精品一区二区人妻 | 娇妻玩4p被三个男人伺候电影 | 欧美老司机 | 一区二区三区精品视频在线观看 | 成人激情自拍 | a视频在线观看 | 人妻偷人精品一区二区三区 | 欧美xxxx免费虐 | 两性午夜视频 | 搞中出| 亚洲开心网 | 大吊一区二区三区 | 国产大片黄 | 中文字幕第20页 | 激情视频亚洲 | av高清一区二区 | 日干夜干| 久久99深爱久久99精品 | 五月激情婷婷综合 | 成人亚洲一区二区 | 在线播放亚洲精品 | 在线观看福利网站 | 国产无遮挡呻吟娇喘视频 | 欧美变态口味重另类 | 亚洲精品中文字幕成人片 | 人妻 日韩精品 中文字幕 | 亚洲影院av| 日韩福利一区二区 | 日韩图片区| jizz黄| 国产三级理论片 | 夜间福利网站 | 国产模特av私拍大尺度 | 日韩久久精品 | 亚洲天堂美女 | 国产精品亚洲欧美在线播放 | 鬼灭之刃柱训练篇在线观看 | 99久久精品国产一区色 |