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

JS中DOM的API使用示例詳解

 更新時(shí)間:2025年09月04日 09:36:40   作者:藤原とラふ店丶  
在JavaScript中,DOM(文檔對(duì)象模型)API是操作HTML/XML文檔結(jié)構(gòu)、內(nèi)容和樣式的核心接口,本文給大家介紹JS中DOM的API使用示例,感興趣的朋友跟隨小編一起看看吧

在JavaScript中,DOM(文檔對(duì)象模型)API是操作HTML/XML文檔結(jié)構(gòu)、內(nèi)容和樣式的核心接口。通過DOM API,我們可以動(dòng)態(tài)創(chuàng)建、修改、刪除元素,處理事件,以及改變文檔的布局和樣式。以下是DOM API的常用分類及示例:

一、獲取DOM元素(選擇器API)

獲取元素是操作DOM的第一步,常用方法如下:

方法說明示例
document.getElementById(id)通過ID獲取唯一元素(效率最高)const box = document.getElementById('app');
document.getElementsByClassName(className)通過類名獲取元素集合(動(dòng)態(tài)更新)const items = document.getElementsByClassName('item');
document.getElementsByTagName(tagName)通過標(biāo)簽名獲取元素集合(動(dòng)態(tài)更新)const lis = document.getElementsByTagName('li');
document.querySelector(selector)通過CSS選擇器獲取第一個(gè)匹配元素const firstItem = document.querySelector('.list .item');
document.querySelectorAll(selector)通過CSS選擇器獲取所有匹配元素(靜態(tài)集合)const allItems = document.querySelectorAll('ul > li');

二、操作元素內(nèi)容

通過API可以修改元素的文本或HTML內(nèi)容:

textContent:獲取/設(shè)置元素的純文本內(nèi)容(忽略HTML標(biāo)簽,安全防XSS)

const div = document.querySelector('#content');
div.textContent = 'Hello <strong>DOM</strong>'; // 顯示:Hello <strong>DOM</strong>

innerHTML:獲取/設(shè)置元素的HTML內(nèi)容(會(huì)解析HTML標(biāo)簽,有XSS風(fēng)險(xiǎn))

div.innerHTML = 'Hello <strong>DOM</strong>'; // 顯示:Hello DOM(strong標(biāo)簽生效)

value:獲取/設(shè)置表單元素(input、textarea等)的值

const input = document.querySelector('input');
input.value = '默認(rèn)值'; // 設(shè)置輸入框內(nèi)容
console.log(input.value); // 獲取用戶輸入

三、操作元素屬性

修改元素的HTML屬性(如src、href、class等):

直接操作屬性

const img = document.querySelector('img');
img.src = 'new-image.jpg'; // 修改圖片路徑
img.alt = '新圖片'; // 設(shè)置alt屬性

setAttribute(name, value):設(shè)置任意屬性(包括自定義屬性)

const link = document.querySelector('a');
link.setAttribute('target', '_blank'); // 設(shè)置a標(biāo)簽跳轉(zhuǎn)方式
link.setAttribute('data-id', '123'); // 設(shè)置自定義屬性data-id

getAttribute(name):獲取屬性值

console.log(link.getAttribute('href')); // 獲取鏈接地址
console.log(link.getAttribute('data-id')); // 獲取自定義屬性

removeAttribute(name):移除屬性

img.removeAttribute('title'); // 移除title屬性

四、操作元素樣式

動(dòng)態(tài)修改元素的CSS樣式:

  • style屬性:直接修改行內(nèi)樣式(駝峰命名,如fontSize對(duì)應(yīng)font-size
const box = document.querySelector('.box');
box.style.width = '200px';
box.style.backgroundColor = 'blue'; // 對(duì)應(yīng)CSS的background-color
box.style.fontSize = '16px';
  • classList:操作元素的類名(推薦,避免覆蓋原有樣式)
const btn = document.querySelector('button');
btn.classList.add('active'); // 添加active類
btn.classList.remove('disabled'); // 移除disabled類
btn.classList.toggle('highlight'); // 切換highlight類
console.log(btn.classList.contains('active')); // 輸出:true
  • add(class):添加類
  • remove(class):移除類
  • toggle(class):切換類(存在則移除,不存在則添加)
  • contains(class):判斷是否包含類

五、DOM結(jié)構(gòu)操作(增刪改節(jié)點(diǎn))

動(dòng)態(tài)創(chuàng)建、添加、刪除元素:

創(chuàng)建元素document.createElement(tagName)

const newLi = document.createElement('li'); // 創(chuàng)建li元素
newLi.textContent = '新列表項(xiàng)';
newLi.className = 'item'; // 添加類名

添加元素

const list = document.querySelector('ul');
list.appendChild(newLi); // 在ul末尾添加li
const firstItem = list.querySelector('li:first-child');
list.insertBefore(newLi, firstItem); // 在第一個(gè)li前插入新li
  • parent.appendChild(child):在父元素末尾添加子元素
  • parent.insertBefore(newChild, referenceChild):在參考元素前插入新元素

替換元素parent.replaceChild(newChild, oldChild)

const oldLi = list.querySelector('li:nth-child(2)');
list.replaceChild(newLi, oldLi); // 用新li替換第二個(gè)li
  • 刪除元素parent.removeChild(child)child.remove()(更簡(jiǎn)潔)
const toRemove = list.querySelector('li:last-child');
toRemove.remove(); // 直接刪除元素(無需父元素)

六、事件處理(交互核心)

通過DOM API綁定事件,處理用戶交互(如點(diǎn)擊、輸入、滾動(dòng)等):

addEventListener(event, handler):綁定事件(推薦,可綁定多個(gè)同類型事件)

const btn = document.querySelector('button');
btn.addEventListener('click', function() {
  console.log('按鈕被點(diǎn)擊了');
});
// 箭頭函數(shù)寫法
btn.addEventListener('mouseenter', () => {
  btn.style.color = 'red';
});

removeEventListener(event, handler):移除事件監(jiān)聽(需引用原函數(shù))

function handleClick() {
  console.log('點(diǎn)擊事件');
}
btn.addEventListener('click', handleClick);
btn.removeEventListener('click', handleClick); // 移除監(jiān)聽
  • 常用事件類型
    • 鼠標(biāo):click(點(diǎn)擊)、mouseover(鼠標(biāo)移入)、mouseout(鼠標(biāo)移出)
    • 鍵盤:keydown(按鍵按下)、keyup(按鍵松開)
    • 表單:input(輸入變化)、submit(表單提交)
    • 窗口:load(頁面加載完成)、resize(窗口大小變化)

七、節(jié)點(diǎn)關(guān)系與遍歷

DOM樹中節(jié)點(diǎn)(元素、文本、注釋等)的關(guān)系操作:

  • parentNode:獲取父節(jié)點(diǎn)
  • childNodes:獲取所有子節(jié)點(diǎn)(包括文本、注釋,返回NodeList)
  • children:獲取所有子元素節(jié)點(diǎn)(只含元素,返回HTMLCollection)
  • firstChild / lastChild:第一個(gè)/最后一個(gè)子節(jié)點(diǎn)
  • previousSibling / nextSibling:前一個(gè)/后一個(gè)兄弟節(jié)點(diǎn)
  • previousElementSibling / nextElementSibling:前一個(gè)/后一個(gè)兄弟元素

示例:

const list = document.querySelector('ul');
console.log(list.children); // 所有l(wèi)i子元素
console.log(list.firstElementChild); // 第一個(gè)li
console.log(list.lastElementChild); // 最后一個(gè)li
const firstLi = list.firstElementChild;
console.log(firstLi.nextElementSibling); // 第二個(gè)li

總結(jié)

DOM API是前端交互的核心,常用操作可歸納為:

  1. 選擇元素(querySelector系列最常用)
  2. 操作內(nèi)容(textContent、innerHTML
  3. 修改樣式(styleclassList
  4. 調(diào)整結(jié)構(gòu)(createElement、appendChild、remove
  5. 處理事件(addEventListener

實(shí)際開發(fā)中,結(jié)合這些API可以實(shí)現(xiàn)動(dòng)態(tài)頁面效果(如表單驗(yàn)證、列表增刪、交互反饋等)。

到此這篇關(guān)于JS中DOM的API使用的文章就介紹到這了,更多相關(guān)js dom api使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

信阳市| 吴忠市| 彝良县| 四子王旗| 大埔县| 内江市| 绥中县| 花莲县| 荣昌县| 拜泉县| 深泽县| 苏尼特左旗| 庆阳市| 汕头市| 城市| 苏州市| 凌云县| 扎兰屯市| 德化县| 怀远县| 彭州市| 漳浦县| 荥阳市| 保靖县| 高尔夫| 碌曲县| 义马市| 海盐县| 武邑县| 旬阳县| 秦安县| 铜川市| 咸阳市| 乌审旗| 扎囊县| 乌拉特后旗| 来安县| 安丘市| 乾安县| 乡城县| 和静县|