(function(){
function jQuery(selector){
return new jQuery.fn.init(selector);
}
jQuery.fn = jQuery.prototype;
jQuery.fn.init = function(selector){
if(typeof selector == 'object'){
this[0] = selector;
this.length = 1;
}else if(typeof selector == 'function'){
jQuery.fn.ready(selector);
}else{
var elems = document.querySelectorAll(selector);
for(var i=0;i<elems.length;i++){
this[i] = elems[i];
}
this.length = elems.length;
return this;
}
}
jQuery.fn.each = function(fn){
for(var i=0;i<this.length;i++){
fn(this[i]);
}
return this;
}
jQuery.fn.on=function(type,fn){
this.each(function(elem){
elem.addEventListener(type,fn);
})
return this;
}
jQuery.fn.toggleClass=function(name){
this.each(function(elem){
elem.classList.toggle(name)
})
return this;
}
jQuery.fn.toggle=function(name){
this.each(function(elem){
var display = document.defaultView.getComputedStyle(elem,null).display;
if(display!='none'){
elem.oldview = display;
elem.style.display = 'none';
}else{
elem.style.display = elem.oldview||'block';
}
})
return this;
}
jQuery.fn.ready = function(callback){
if(jQuery.isReady){
callback();
}else{
setTimeout(()=>{
jQuery.fn.ready(callback);
},10)
}
}
document.addEventListener("DOMContentLoaded",e=>jQuery.isReady=true);
jQuery.fn.init.prototype = jQuery.prototype;
window.$ = window.jQuery = jQuery;
})()
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jquery</title>
<script src="js/jquery-5.0.js"></script>
<style>
.active{color:red;}
</style>
</head>
<body>
<button>切換</button>
<h1> 我愛<span>我的</span>祖國</h1>
<p>我喜歡jquery</p>
<p>我愛vue</p>
<script>
$(function(){
console.log("檔案載入完畢")
})
</script>
</body>
</html>