首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

jQuery append 對應原生 JavaScript:appendChild 與 insertAdjacentHTML

     編輯:程式設計綜合問答

jQuery $(parent).append(htmlString) 在原生 JS 中有兩種等價方案,視場景選擇。

方案一:appendChild(節點操作)

// 創建元素節點
var div = document.createElement('div');
div.textContent = 'Hello';
parent.appendChild(div); // 只接受 Node,不接受字符串

方案二:insertAdjacentHTML(字符串解析,性能更優)

// 直接解析 HTML 字符串並插入
parent.insertAdjacentHTML('beforeend', '<div>Hello</div>');
// 位置參數:beforebegin | afterbegin | beforeend | afterend

對比表

特性appendChildinsertAdjacentHTML
輸入類型NodeHTML 字符串
解析開銷手動創建節點瀏覽器原生解析器(快)
事件綁定保留原節點引用重新解析,舊節點事件丟失
XSS 風險無(文本內容安全)高(需轉義不可信輸入)

最佳實踐

  • 構建少量已知安全結構 → insertAdjacentHTML 簡潔高效。
  • 需保留節點引用/綁定事件 → createElement + appendChild。
  • 用戶輸入內容 → 必須轉義或用 textContent 設置文本,杜絕 XSS。

現代框架(React/Vue)底層同樣依賴這兩類原生 API 實現虛擬 DOM 打補丁。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved