???function $(id) { ???????var el = ‘string‘ == typeof id ? ???????????document.getElementById(id) : ???????????id; ???????el.on = function(event, fn) { ???????????if (‘content loaded‘ == event) { ???????????????event = window.attachEvent ? "load" : "DOMContentLoaded"; ???????????} ???????????el.addEventListener ? ???????????????el.addEventListener(event, fn, false) : ???????????????el.attachEvent("on" + event, fn); ???????}; ???????el.all = function(selector) { ???????????return $(el.querySelectorAll(selector)); ???????}; ???????el.each = function(fn) { ???????????for (var i = 0, len = el.length; i < len; ++i) { ???????????????fn($(el[i]), i); ???????????} ???????}; ???????el.getClasses = function() { ???????????return this.getAttribute(‘class‘).split(/\s+/); ???????}; ???????el.addClass = function(name) { ???????????var classes = this.getAttribute(‘class‘); ???????????el.setAttribute(‘class‘, classes ? ???????????????classes + ‘ ‘ + name : ???????????????name); ???????}; ???????el.removeClass = function(name) { ???????????var classes = this.getClasses().filter(function(curr) { ???????????????return curr != name; ???????????}); ???????????this.setAttribute(‘class‘, classes.join(‘ ‘)); ???????}; ???????return el; ???} ???function search() { ???????var str = $(‘search‘).value.toLowerCase(); ???????var links = $(‘files‘).all(‘a‘); ???????links.each(function(link) { ???????????var text = link.textContent.toLowerCase(); ???????????if (‘..‘ == text) return; ???????????if (str.length && ~text.indexOf(str)) { ???????????????link.addClass(‘highlight‘); ???????????} else { ???????????????link.removeClass(‘highlight‘); ???????????} ???????}); ???} ???$(window).on(‘content loaded‘, function() { ???????$(‘search‘).on(‘keyup‘, search); ???});
精简版自定义 jquery
原文地址:http://www.cnblogs.com/webenh/p/7535322.html