1. 程式人生 > >javascript DOM操作中的insertAdjacentHTML方法

javascript DOM操作中的insertAdjacentHTML方法

插入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 程式碼:
  1. element.insertAdjacentHTML(position, text);

需要傳入字串引數position,以及字串引數html程式碼。我們可以對照jQuery的HTML插入方法。
引數position 的取值:

  • beforeBegin:在該元素前插入
  • afterBegin:在該元素第一個子元素前插入
  • beforeEnd:在該元素最後一個子元素後面插入
  • afterEnd:在該元素後插入

方法同意支援空元素,和innerHTML與innerText方法沒什麼區別了。

效能測試可以看這裡:http://jsperf.com/innerhtml-vs-insertadjacenthtml-vs-dom/8