javascript DOM操作中的insertAdjacentHTML方法
阿新 • • 發佈:2019-01-02
插入HTML內容與文字內容以前用的是innerHTML與innerText方法,今天看到insertAdjacentHTML和 insertAdjacentText兩個API,特地學習一下:
insertAdjacentHTML和 insertAdjacentText這兩個方法很靈活,可以在指定的地方插入html內容和文字內容,在大部分情況下比element.innerHTML的效能更好,比Document Fragments更好的HTML文件插入方案,因為我們知道Document Fragments在某些IE版本中的表現不好。
insertAdjacentText方法與 insertAdjacentHTML方法類似,只不過只能插入純文字,引數相同。
MDN上查了一下相容性:https://developer.mozilla.org/en-US/docs/Web/API/element.insertAdjacentHTML
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 1.0 | 8.0 (8.0) | 4.0 | 7.0 | 4.0 (527) |
介面也很簡單:
js 程式碼:- element.insertAdjacentHTML(position, text);
需要傳入字串引數position
,以及字串引數html
程式碼。我們可以對照jQuery的HTML插入方法。
引數position
的取值:
- beforeBegin:在該元素前插入
- afterBegin:在該元素第一個子元素前插入
- beforeEnd:在該元素最後一個子元素後面插入
- afterEnd:在該元素後插入
方法同意支援空元素,和innerHTML與innerText方法沒什麼區別了。
效能測試可以看這裡:http://jsperf.com/innerhtml-vs-insertadjacenthtml-vs-dom/8