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

JS中DOM的API使用示例詳解

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

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

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

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

方法說明示例
document.getElementById(id)通過ID獲取唯一元素(效率最高)const box = document.getElementById('app');
document.getElementsByClassName(className)通過類名獲取元素集合(動態(tài)更新)const items = document.getElementsByClassName('item');
document.getElementsByTagName(tagName)通過標簽名獲取元素集合(動態(tài)更新)const lis = document.getElementsByTagName('li');
document.querySelector(selector)通過CSS選擇器獲取第一個匹配元素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:獲取/設置元素的純文本內(nèi)容(忽略HTML標簽,安全防XSS)

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

innerHTML:獲取/設置元素的HTML內(nèi)容(會解析HTML標簽,有XSS風險)

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

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

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

三、操作元素屬性

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

直接操作屬性

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

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

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

getAttribute(name):獲取屬性值

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

removeAttribute(name):移除屬性

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

四、操作元素樣式

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

  • style屬性:直接修改行內(nèi)樣式(駝峰命名,如fontSize對應font-size
const box = document.querySelector('.box');
box.style.width = '200px';
box.style.backgroundColor = 'blue'; // 對應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é)點)

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

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

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

添加元素

const list = document.querySelector('ul');
list.appendChild(newLi); // 在ul末尾添加li
const firstItem = list.querySelector('li:first-child');
list.insertBefore(newLi, firstItem); // 在第一個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替換第二個li
  • 刪除元素parent.removeChild(child)child.remove()(更簡潔)
const toRemove = list.querySelector('li:last-child');
toRemove.remove(); // 直接刪除元素(無需父元素)

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

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

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

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

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

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

七、節(jié)點關系與遍歷

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

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

示例:

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

總結

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

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

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

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

相關文章

最新評論

开鲁县| 高唐县| 洪江市| 哈尔滨市| 蒙城县| 阜新| 西乌| 阜城县| 伊川县| 溆浦县| 武宣县| 林周县| 三明市| 乐陵市| 吴川市| 兴义市| 石棉县| 南丹县| 内黄县| 无棣县| 德清县| 崇礼县| 柯坪县| 石柱| 奎屯市| 墨竹工卡县| 建德市| 渑池县| 乐平市| 吉木乃县| 盐山县| 鹰潭市| 洛川县| 云阳县| 平遥县| 仁怀市| 鄂托克旗| 张家川| 龙井市| 蒲城县| 唐山市|