javascript 如果prepend()方法不可用,则将其填充(IE11 / Edge)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 如果prepend()方法不可用,则将其填充(IE11 / Edge)相关的知识,希望对你有一定的参考价值。

// Source: https://github.com/jserz/js_piece/blob/master/DOM/ParentNode/prepend()/prepend().md
(function (arr) {
  arr.forEach(function (item) {
    if (item.hasOwnProperty('prepend')) {
      return;
    }
    Object.defineProperty(item, 'prepend', {
      configurable: true,
      enumerable: true,
      writable: true,
      value: function prepend() {
        var argArr = Array.prototype.slice.call(arguments),
          docFrag = document.createDocumentFragment();
        
        argArr.forEach(function (argItem) {
          var isNode = argItem instanceof Node;
          docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)));
        });
        
        this.insertBefore(docFrag, this.firstChild);
      }
    });
  });
})([Element.prototype, Document.prototype, DocumentFragment.prototype]);

以上是关于javascript 如果prepend()方法不可用,则将其填充(IE11 / Edge)的主要内容,如果未能解决你的问题,请参考以下文章

通过 append() 和 prepend() 方法添加若干新元素

简单脚本不适用于 jQuery 中的 .prepend() 和 .css() 方法

jQuery 对象根本不前置

jQuery 中 .prepend 方法的问题

Scala prepend +: op 不修改 ListBuffer

append(),prepend(),after(),before()