最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中dom操作方法示例詳解

 更新時間:2025年08月04日 08:31:19   作者:我嘞個ddddd  
JavaScript操作DOM(文檔對象模型)是前端開發(fā)中的一項基本技能,它允許開發(fā)者通過編程方式動態(tài)地修改網(wǎng)頁的內(nèi)容、結(jié)構(gòu)和樣式,這篇文章主要介紹了JavaScript中dom操作方法的相關(guān)資料,需要的朋友可以參考下

前言

DOM(文檔對象模型)操作是基于面向?qū)ο蟮乃枷朐O(shè)計的。在瀏覽器中,HTML 文檔被解析為一個由對象組成的樹形結(jié)構(gòu)(即 DOM 樹),每個 HTML 元素、屬性、文本節(jié)點(diǎn)都是一個對象,通過對象的屬性和方法可以實現(xiàn)對頁面內(nèi)容的動態(tài)操作。

一、查找

1.1 獲取元素

getElementById()        通過id獲取元素 獲取符合條件的第一個對象

var obj = document.getElementById("aa")

getElementsByClassName()        根據(jù)class值查找 找到所有符合條件的對象組成的數(shù)組

var arr = document.getElementsByClassName("aa")

getElementsByTagName()        根據(jù)元素名稱查找  找到所有符合條件的對象組成的數(shù)組

var arr = document.getElementsByTagName("div")

 querySelector()        根據(jù)元素選擇器查找,獲取符合條件的第一個對象

var obj = document.querySelector(".aa")

querySelectorAll()        根據(jù)元素選擇器查找,找到所有符合條件的對象組成的數(shù)組

var arr = document.querySelectorAll(".aa")

1.2 通過關(guān)系查找(Dom節(jié)點(diǎn))

找父親 parentNode   parentElement

找孩子 childNodes(包含元素節(jié)點(diǎn)和文本節(jié)點(diǎn))  children(所有子元素節(jié)點(diǎn))

第一個孩子 firstChild firstElementChild

最后一個孩子 lastChild  lastElementChild

上一個元素 previousSibling  previousElementSibling

下一個元素  nextSibling nextElementSibling

二、修改

2.1 改內(nèi)容

 innerText以文本形式呈現(xiàn)
innerHTML解析成標(biāo)簽
value用于修改收集用戶信息的標(biāo)簽(如input)

2.1.1  innerText

html文件代碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="aa">aa</div>
    <input type="text" value="00" class="bb">
</body>
<script type="text/javascript" src="./00.js"></script>
</html>

js文件代碼如下:

var obj = document.querySelector(".aa")
obj.innerText="<a>0000000</a>"

結(jié)果如下:

2.1.2 innerHTML

js代碼如下:

var obj = document.querySelector(".aa")
obj.innerHTML="<a>0000000</a>"

結(jié)果如下:

2.1.3 value

js代碼如下:

var obj = document.querySelector(".aa")
obj.innerHTML="<a>0000000</a>"
var bb = document.querySelector(".bb")
bb.value="xxxxx"

結(jié)果如下:

2.2 改屬性

對象.屬性=值

html文件代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    .aa{
        width:200px;
        height:200px;
        background-color: aqua;
    }
    .bb{
        width:200px;
        height:200px;
        background-color:yellow;
    }
</style>
<body>
    <div class="aa">aa</div>
</body>
<script type="text/javascript" src="./00.js"></script>
</html>

結(jié)果如下:

js文件代碼如下:

var obj = document.querySelector(".aa")
obj.className="bb"

結(jié)果如下:

2.3 自定義屬性

setAttribute("屬性名", "屬性值")

getAttribute("屬性名")

html文件代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    .aa{
        width:200px;
        height:200px;
        background-color: aqua;
    }
    .bb{
        width:200px;
        height:200px;
        background-color:yellow;
    }
</style>
<body>
    <div class="aa">aa</div>
</body>
<script type="text/javascript" src="./00.js"></script>
</html>

js文件代碼如下:

var obj = document.querySelector(".aa")
obj.setAttribute("index","1")
console.log(obj.getAttribute("index"))

結(jié)果如下: 

2.4 改樣式

obj.style.屬性名="屬性值"

html文件代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    .aa{
        width:200px;
        height:200px;
        background-color: aqua;
    }
    .bb{
        width:200px;
        height:200px;
        background-color:yellow;
    }
</style>
<body>
    <div class="aa">aa</div>
</body>
<script type="text/javascript" src="./00.js"></script>
</html>

js文件代碼如下:

var obj = document.querySelector(".aa")
obj.style.backgroundColor='red'

結(jié)果如下: 

注:修改樣式時屬性名要采用駝峰式,如 font-size 要變?yōu)閒ontSize。

三、添加

3.1 創(chuàng)建元素

createElement()創(chuàng)建元素
cloneNode()復(fù)制元素( false淺復(fù)制,只復(fù)制外殼   true復(fù)制全部)

3.2 添加元素

appendChild()子元素最后位置添加
insertBefore()某個子元素前添加
replaceChild()替換掉某個子元素

3.2.1 appendChild()

html文件代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    .aa{
        width:200px;
        height:200px;
        background-color: aqua;
    }
    .bb{
        width:100px;
        height:100px;
        background-color:rgb(255, 0, 93);
    }
</style>
<body>
    <div class="aa">
        <div class="bb">子元素</div>
    </div>
</body>
<script type="text/javascript" src="./00.js"></script>
</html>

代碼運(yùn)行結(jié)果:

js文件代碼:

var obj = document.querySelector(".aa")
var bb = document.querySelector(".bb")
var newNode = document.createElement("h2")
console.log(newNode)
newNode.innerText = "新添加的元素"
newNode.className = "xixi"
newNode.style.background = "purple"
obj.appendChild(newNode,bb)

結(jié)果如下:

3.2.2 insertBefore()

js文件代碼:

var obj = document.querySelector(".aa")
var bb = document.querySelector(".bb")
var newNode = document.createElement("h2")
console.log(newNode)
newNode.innerText = "新添加的元素"
newNode.className = "xixi"
newNode.style.background = "purple"
obj.insertBefore(newNode,bb)

 結(jié)果如下:

注:還可以采用prepend()。

3.2.3 replaceChild()

js代碼如下:

var obj = document.querySelector(".aa")
var bb = document.querySelector(".bb")
var newNode = document.createElement("h2")
console.log(newNode)
newNode.innerText = "新添加的元素"
newNode.className = "xixi"
newNode.style.background = "purple"
obj.replaceChild(newNode,bb)

結(jié)果如下:

3.2.4 cloneNode()

js文件代碼如下:

var obj = document.querySelector(".aa")
var bb = document.querySelector(".bb")
var newNode = document.createElement("h2")
console.log(newNode)
newNode.innerText = "新添加的元素"
newNode.className = "xixi"
newNode.style.background = "red"
var cc = newNode.cloneNode(true)
obj.replaceChild(cc,bb)

 結(jié)果如下:

五、刪除

找要刪除元素的父級元素,調(diào)用removeChild()方法

html文件代碼同增加中html文件代碼。

js文件代碼如下:

var obj = document.querySelector(".aa")
var bb = document.querySelector(".bb")
obj.removeChild(bb)

結(jié)果如下:

總結(jié) 

到此這篇關(guān)于JavaScript中dom操作方法的文章就介紹到這了,更多相關(guān)js dom操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaScript使用Fetch的方法詳解

    JavaScript使用Fetch的方法詳解

    Fetch?API提供了一個JavaScript接口,用于訪問和操縱HTTP管道的部分。它還提供了一個全局?fetch()方法,該方法提供了一種簡單,合理的方式來跨網(wǎng)絡(luò)異步獲取資源。本文將詳解JS如何使用Fetch,感興趣的可以學(xué)習(xí)一下
    2022-05-05
  • js 中的柯里化與反柯里化的基礎(chǔ)概念和用法

    js 中的柯里化與反柯里化的基礎(chǔ)概念和用法

    柯里化是將接受多個參數(shù)的函數(shù)轉(zhuǎn)換成一系列只接受單個參數(shù)的函數(shù)的過程,而反柯里化是將柯里化函數(shù)轉(zhuǎn)換成接受多個參數(shù)的函數(shù)的過程,本文將帶大家理解 js 中的柯里化與反柯里化,需要的朋友可以參考下
    2023-07-07
  • 微信小程序?qū)崿F(xiàn)簡易table表格

    微信小程序?qū)崿F(xiàn)簡易table表格

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)簡易table表格,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • JavaScript二叉樹及各種遍歷算法詳情

    JavaScript二叉樹及各種遍歷算法詳情

    這篇文章主要介紹了JavaScript二叉樹及各種遍歷算法詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • JS簡單驗證上傳文件類型的方法

    JS簡單驗證上傳文件類型的方法

    這篇文章主要介紹了JS簡單驗證上傳文件類型的方法,涉及javascript文件遍歷及字符串截取、匹配等相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • JavaScript中的50+個實用工具函數(shù)小結(jié)

    JavaScript中的50+個實用工具函數(shù)小結(jié)

    JavaScript可以做很多出色的事情,本篇文章給大家整理50+個實用工具函數(shù),可以幫助你提高工作效率并可以幫助調(diào)試代碼,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • ie8下修改input的type屬性報錯的解決方法

    ie8下修改input的type屬性報錯的解決方法

    當(dāng)用戶勾選顯示明文復(fù)選框時,要以明文顯示用戶輸入的密碼,去掉勾選時要變回密文,問題是ie8中是不允許修改input的type屬性
    2014-09-09
  • js 與或運(yùn)算符 || && 妙用

    js 與或運(yùn)算符 || && 妙用

    js 與或運(yùn)算符 || && 妙用,可用于精簡代碼,降低程序的可讀性。
    2009-12-12
  • js實現(xiàn)上下滑動輪播

    js實現(xiàn)上下滑動輪播

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)上下滑動輪播,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • JavaScript實現(xiàn)簡易計算器功能的兩種方法

    JavaScript實現(xiàn)簡易計算器功能的兩種方法

    這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)簡易計算器功能的兩種方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07

最新評論

日喀则市| 临清市| 海淀区| 资源县| 翁牛特旗| 霞浦县| 北辰区| 宿州市| 长春市| 辉南县| 深泽县| 甘谷县| 深圳市| 正蓝旗| 手机| 苏尼特左旗| 花莲县| 蓬莱市| 高阳县| 定日县| 蒲江县| 奉贤区| 海晏县| 宜兴市| 綦江县| 新余市| 苍溪县| 海林市| 德令哈市| 应城市| 西宁市| 泰来县| 庆城县| 监利县| 平昌县| 囊谦县| 江都市| 八宿县| 阿合奇县| 桦甸市| 石泉县|