精简版自定义 jquery

时间:2023-03-10 02:55:22
精简版自定义 jquery
    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);
});