美文网首页
实现一个简单的jQuery

实现一个简单的jQuery

作者: lynnwy | 来源:发表于2019-04-24 20:03 被阅读0次
首先
image.png
要实现的两个功能addClass和setText
image.png
首先,我们要对jQuery进行封装,首先选中一个dom元素(或是一个选择器),我们假设这个只传入一个dom元素,那么

let nodes={0:nodeOrSelector,length:1}

然后判断传入的nodeOrSelector的类型是否为字符串,如果是字符串,就表示传入了一个选择器,那么我们先用一个temp接受这个选择器能找到的全部元素,并将temp中的每一个元素都覆盖到nodes上,包括length。

window.jQuery=function(nodeOrSelector){
let nodes={0:nodeOrSelector,length:1}
if(typeof nodeOrSelector ==='string' ){
let temp=document.querySelectorAll(nodeOrSelector)
for(let i=0;i<temp.length;i++){
nodes[i]=temp[i]
}
nodes.length=temp.length
}

然后开始写两个功能

addClass:addClass的功能是给选中的元素加上我们输入的效果
nodes.addClass=function(classes){}
先判断classed是不是字符串,如果是字符串,先遍历一边nodes里的元素,然后给每个元素添加效果,如果不是字符串,则用forEach(value)将每个效果添加到对应的元素上
nodes.addClass=function(classes){
if(typeof classes==='string'){
for(let i=0;i<nodes.length;i++){
nodes[i].classList.add(classes)}
}else{
for(let i=0;i<nodes.length;i++){
classes.forEach( (value)=>nodes[i].classList.add(value) )
}
}
}
setText:setText功能是给选中的元素加上文本内容,首先遍历一边选中的元素,然后用textContext方法将我们输入的文本添加至选中的元素中
nodes.setText=function(text){
for(let i=0;i<nodes.length;i++){
nodes[i].textContent=text
}
}

完整代码:
window.jQuery=function(nodeOrSelector){
let nodes={0:nodeOrSelector,length:1}
if(typeof nodeOrSelector ==='string' ){
let temp=document.querySelectorAll(nodeOrSelector)
for(let i=0;i<temp.length;i++){
nodes[i]=temp[i]
}
nodes.length=temp.length
}

nodes.addClass=function(classes){
if(typeof classes==='string'){
for(let i=0;i<nodes.length;i++){
nodes[i].classList.add(classes)}
}else{
for(let i=0;i<nodes.length;i++){
classes.forEach( (value)=>nodes[i].classList.add(value) )

  }
}

}

nodes.setText=function(text){
for(let i=0;i<nodes.length;i++){
nodes[i].textContent=text
}
}
return nodes
}

window.=jQuery var node2=('div')
node2.addClass('red')

相关文章

  • 用原生DOM实现一个jQuery的API

    今天第一次接触jQuery,先简单的实现一个jQuery的API,实现两个方法: addClass() setTe...

  • JQuery 的元素选择器的实现原理

    jQuery源码的结构 下面是模拟jQuery实现简单的获取元素内容 结论 所以,JQuery 其实就是在一个匿名...

  • 如何实现一个jQuery的api

    什么是jQuery 实现jQuery的api 实现jQuery的api说起来也很简单,就是对DOM进行封装。话不多...

  • JQuery简单实现

    将jQuery封装成一个函数,先获取所有标签,直接返回一个对象,对象当中有两个函数:addClass和setTex...

  • 用 jQuery 做个轮播

    初次体验jQuery 之后,体验一下jQuery强大之处,做一个简单的轮播,实现图片切换。 点击按钮切换轮播 页面...

  • 实现一个简单的jQuery

    jQuery说到底是一个函数对象,一个通过原生js实现了某些功能的函数,被封装成了一个js对象。jQuery对象是...

  • 实现一个简单的jQuery

    首先 要实现的两个功能addClass和setText 首先,我们要对jQuery进行封装,首先选中一个dom元素...

  • 实现一个自制jQuery框架

    实现一个自制jQuery框架 理解jquery jquery常用方法如下 那么要要实现jquery从什么入手呢? ...

  • jquery实现页面内链接锚点跳转平滑滚动效果

    jQuery下实现锚点链接的平滑滚动(带浮动侧边栏)css+html+js JQuery实现简单的平滑过渡效果 J...

  • jQuery结构简析

    本文简单实现jQuery框架,深入理解javascript对象。本文的对照版本是jQuery-1.2.6.js 本...

网友评论

      本文标题:实现一个简单的jQuery

      本文链接:https://www.haomeiwen.com/subject/hqdngqtx.html