狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

JavaScript運(yùn)算符與表達(dá)式詳解

admin
2025年7月6日 16:30 本文熱度 46

一、創(chuàng)建節(jié)點(diǎn)

創(chuàng)建節(jié)點(diǎn)分為創(chuàng)建元素節(jié)點(diǎn)和文本節(jié)點(diǎn).
1) createElement
創(chuàng)建新元素,我們來看看示例:
//創(chuàng)建一個(gè)新的 div 元素const newDiv = document.createElement('div');
//給它加點(diǎn)內(nèi)容newDiv.textContent = '我是新來的div';
//加點(diǎn)樣式newDiv.style.backgroundColor = 'lightblue';newDiv.style.padding = '10px';
createElement 方法接收一個(gè)參數(shù), 就是你要?jiǎng)?chuàng)建的 HTML 標(biāo)簽名. 創(chuàng)建后, 這個(gè)元素還不會(huì)立即出現(xiàn)在頁面上, 它只是存在于內(nèi)存中, 等著被添加到 DOM 樹中.
2) createTextNode
創(chuàng)建文本節(jié)點(diǎn):
?const textNode = document.createTextNode('這是一段純文本內(nèi)容');
//可以把這個(gè)文本節(jié)點(diǎn)添加到元素中newDiv.appendChild(textNode);
雖然現(xiàn)在大多數(shù)情況下我們直接用textContentinnerText就夠了, 但在某些特殊場景下 createTextNode 還是很有用的.
二、添加節(jié)點(diǎn)
創(chuàng)建好節(jié)點(diǎn)后, 我們需要把它們放到頁面中才能看到效果:
1) appendChild
添加到末尾, 這是最常用的方法 , 把節(jié)點(diǎn)添加到指定父節(jié)點(diǎn)的子節(jié)點(diǎn)列表末尾:
// 獲取頁面中的容器const container = document.getElementById('container');
// 把我們之前創(chuàng)建的 div 添加進(jìn)去container.appendChild(newDiv);
如果你把一個(gè)已存在于文檔中的節(jié)點(diǎn) append 到另一個(gè)位置, 它會(huì)被從原來的位置移動(dòng), 而不會(huì)被復(fù)制.
2) insertBefore
在指定位置插入, 如果你想控制新節(jié)點(diǎn)的位置 , 而不是總是添加到末尾, 可以使用 insertBefore:
//創(chuàng)建一個(gè)新元素const newParagraph = document.createElement('p');newParagraph.textContent = '我在中間';
//獲取參考節(jié)點(diǎn)const firstChild = container.firstChild;
//在第一個(gè)子節(jié)點(diǎn)前插入新段落container.insertBefore(newParagraph, firstChild);
insertBefore 接收兩個(gè)參數(shù): 要插入的節(jié)點(diǎn)和參考節(jié)點(diǎn).新節(jié)點(diǎn)會(huì)被插入到參考節(jié)點(diǎn)之前.
3) insertAdjacentHTML

更靈活的插入,這組方法提供了更多插入位置的選擇:

const targetElement = document.getElementById('target');
// 四種插入位置targetElement.insertAdjacentHTML('beforebegin''<div>beforebegin - 在元素前面</div>');targetElement.insertAdjacentHTML('afterbegin''<div>afterbegin - 在元素內(nèi)部開頭</div>');targetElement.insertAdjacentHTML('beforeend''<div>beforeend - 在元素內(nèi)部末尾</div>');targetElement.insertAdjacentHTML('afterend''<div>afterend - 在元素后面</div>');
這個(gè)方法特別適合需要精確控制插入位置的場景.
三、修改節(jié)點(diǎn), 創(chuàng)建和添加節(jié)點(diǎn)后, 我們經(jīng)常需要修改它們
1) 修改屬性: 
const link = document.createElement('a');
//設(shè)置屬性link.href = 'https://www.example.com';link.title = '示例網(wǎng)站';link.setAttribute('data-custom''value'); //自定義屬性
//修改樣式link.style.color = 'red';link.style.textDecoration = 'none';
2) 修改內(nèi)容: 
//替換整個(gè)內(nèi)容(包括HTML)link.innerHTML = '<strong>點(diǎn)擊我</strong>';
//只設(shè)置文本內(nèi)容(更安全,防止XSS攻擊)link.textContent = '安全的文本內(nèi)容';
//追加內(nèi)容link.innerHTML += ' (追加的內(nèi)容)';
3) replaceChild - 替換節(jié)點(diǎn)
//創(chuàng)建一個(gè)新節(jié)點(diǎn)const newHeading = document.createElement('h2');newHeading.textContent = '新的標(biāo)題';
//獲取要被替換的節(jié)點(diǎn)和父節(jié)點(diǎn)const oldHeading = document.getElementById('old-heading');const parent = oldHeading.parentNode;
//替換節(jié)點(diǎn)parent.replaceChild(newHeading, oldHeading);
四,節(jié)點(diǎn)的其他操作
1)cloneNode - 節(jié)點(diǎn)克隆: 
const original = document.getElementById('original');
// 淺克隆(只克隆節(jié)點(diǎn)本身,不包含子節(jié)點(diǎn))const shallowClone = original.cloneNode(false);
// 深克隆(克隆節(jié)點(diǎn)及其所有子節(jié)點(diǎn))const deepClone = original.cloneNode(true);
// 添加克隆的節(jié)點(diǎn)到文檔中document.body.appendChild(deepClone);
cloneNode 默認(rèn)不會(huì)復(fù)制事件監(jiān)聽器,但會(huì)復(fù)制屬性(包括像 onclick 這樣的內(nèi)聯(lián)事件處理器).
2)removeChild - 移除節(jié)點(diǎn): 
const parent = document.getElementById('parent');const child = document.getElementById('child-to-remove');
//移除子節(jié)點(diǎn)parent.removeChild(child);
remove-更簡單的方法:
const elementToRemove = document.getElementById('remove-me');elementToRemove.remove(); //直接從DOM中移除自己
3) DocumentFragment, 批量操作優(yōu)化:
當(dāng)你需要添加多個(gè)節(jié)點(diǎn)時(shí),頻繁操作 DOM 會(huì)導(dǎo)致性能問題.這時(shí)可以使用 DocumentFragment:
//創(chuàng)建一個(gè)文檔片段const fragment = document.createDocumentFragment();
//向片段中添加多個(gè)元素for (let i = 0; i < 100; i++) {  const newItem = document.createElement('li');  newItem.textContent = `項(xiàng)目 ${i}`;  fragment.appendChild(newItem);}
//一次性添加到DOM中document.getElementById('list').appendChild(fragment);
五、我們來看一個(gè)完整的例子, 結(jié)合上面講的各種方法
//創(chuàng)建一個(gè)評(píng)論列表功能function addComment(name, text) {  //創(chuàng)建文檔片段  const fragment = document.createDocumentFragment();
  //創(chuàng)建評(píng)論容器  const commentDiv = document.createElement('div');  commentDiv.className = 'comment';
  //創(chuàng)建用戶名標(biāo)題  const nameHeading = document.createElement('h3');  nameHeading.textContent = name;
  //創(chuàng)建評(píng)論文本  const textParagraph = document.createElement('p');  textParagraph.textContent = text;
  // 創(chuàng)建刪除按鈕  const deleteButton = document.createElement('button');  deleteButton.textContent = '刪除';  deleteButton.className = 'delete-btn';
  //組裝評(píng)論  commentDiv.appendChild(nameHeading);  commentDiv.appendChild(textParagraph);  commentDiv.appendChild(deleteButton);
  //添加到片段  fragment.appendChild(commentDiv);
  //獲取評(píng)論列表容器  const commentsContainer = document.getElementById('comments');
  //如果有評(píng)論,就插入到第一個(gè)位置,否則直接添加  if (commentsContainer.firstChild) {    commentsContainer.insertBefore(fragment, commentsContainer.firstChild);  } else {    commentsContainer.appendChild(fragment);  }}
//添加刪除功能document.getElementById('comments').addEventListener('click'function(e) {  if (e.target.classList.contains('delete-btn')) {    const comment = e.target.closest('.comment');    comment.remove(); // 現(xiàn)代方法    // 或者用舊方法:    // comment.parentNode.removeChild(comment);  }});
// 使用示例addComment('張三''這篇文章太棒了!');addComment('李四''學(xué)到了很多新知識(shí)!');


閱讀原文:原文鏈接


該文章在 2025/7/7 9:35:17 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved