Rumah >hujung hadapan web >tutorial js >解析JQuery获取Dom元素的方法

解析JQuery获取Dom元素的方法

巴扎黑
巴扎黑asal
2017-07-24 14:23:201516semak imbas

(function (window) {
   var arr = [];
   var VP = function (selector, context) {
       return new VP.fn.init(selector, context);
   }
   VP.fn = VP.prototype = {
       constructor: VP,
       init: function (selector, context) {
           var _document = window.document, elem, mark = selector.charAt(0);
           if (mark == '#') {
               elem = _document.getElementById(selector.substring(1));
               if (elem) {
                   this[0] = elem;
                   this.length = 1;
               }
           }
           return this;
       },
       splice: arr.splice,
   };
   VP.extend = VP.fn.extend = function () {
       var options, name, src, copy, copyIsArray, clone,
target = arguments[0] || {},
i = 1,
length = arguments.length,
deep = false;
       if (typeof target === "boolean") {
           deep = target;
           target = arguments[i] || {};
           i++;
       }
       if (typeof target !== "object" && !VP.isFunction(target)) {
           target = {};
       }
       if (i === length) {
           target = this;
           i--;
       }
       for (; i < length; i++) {
           if ((options = arguments[i]) != null) {
               for (name in options) {
                   src = target[name];
                   copy = options[name];
                   if (target === copy) {
                       continue;
                   }
                   if (deep && copy && (VP.isPlainObject(copy) ||
                       (copyIsArray = VP.isArray(copy)))) {
                       if (copyIsArray) {
                           copyIsArray = false;
                           clone = src && VP.isArray(src) ? src : [];
                       } else {
                           clone = src && VP.isPlainObject(src) ? src : {};
                       }
                       target[name] = VP.extend(deep, clone, copy);
                   } else if (copy !== undefined) {
                       target[name] = copy;
                   }
               }
           }
       }
       return target;
   };
   VP.fn.extend({

get: function () {
           return this[0];
       },


   });
   VP.fn.init.prototype = VP.fn;
   window.VP = VP;
})(window);

Atas ialah kandungan terperinci 解析JQuery获取Dom元素的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn