美文网首页
JQuery初探

JQuery初探

作者: xvyabin | 来源:发表于2018-12-28 19:33 被阅读0次
  • jQuery 在兼容性方面做得很好,1.7 版本兼容到 IE 6
  • jQuery 还有动画、AJAX 等模块,不止 DOM 操作
  • jQuery 的功能更丰富

基础(对象转换)

var div = document.getElementById('x')
var $div = $('#x')

jQuery的原型为jQuery.prototype

div\$div 的联系是:
\$div === \$(document.getElementById('x'))
div === \$(div)[0]
div\$div 的区别是:
document.getElementById()返回的是DOM对象,而$()返回的是jQuery对象

自己实现jQuery

首先封装两个函数
addclass()

nodes.addClass = function(classes) {
    //classes是一个数组//
    classes.forEach((value) => {
      for(let i = 0; i< nodes.length; i++){   
          //遍历所有节点//
        nodes[i].classList.add(value)
       }
    })
  }

setText()

nodes.setText = function(text) {
    if (text === undefined){
      var texts = []
      for(let i = 0;i< nodes.length; i++){
        texts.push(nodes[i].textContent)
      }
      return texts
      //text()为空时获取原有的text//
    }else{
      for(let i = 0;i< nodes.length; i++){
        nodes[i].textContent = text
      }
      //不为空时改变text//
    }
  }

获取节点

window.jQuery = function(nodeOrSelector) {
  let nodes = {}
  //判断是节点还是字符串//
  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
  }else if(nodeOrSelector instanceof Node){
    nodes = {
    0: nodeOrSelector,
    length: 1
   }
  }  
  return nodes
}

调用


window.$ = jQuery
//缩写
var $div = $('div')
$div.addClass('red') 
$div.setText('hi')

API

$nodes.addClass(function(index,currentClass){
      return 'sd-'+index;    
    });  
//依次添加sd-0 sd-1 sd-2 sd-3 的class//

var classes = ['red','blue','black'];
$nodes.addClass(function(index,currentClass){
      return classes[index];    
    });  
//前三项就会添加red、blue、black的class//


$(x).on('click', function(){    
    $nodes.toggleClass('red');  
})
//建一个button并给它id为x每点一次button,nodes就增加或删除'red'class//

相关文章

  • 初探jQuery

    实现一个jQuery的API 传一个选择器或节点 为nodes添加类,并且遍历nodes 遍历nodes,并且改变...

  • jQuery 初探

    在网页中,常常使用 HTML、CSS、javascript HTML 用于页面的布局,以及一些组件的布放 CSS ...

  • 初探jQuery

    封装一个函数html部分 选项1 选项2 选项3 选项4 选项5 js部分function getSi...

  • jQuery初探

    造两个简单版的jQuery函数 面试题

  • jQuery初探

    1. 基础 什么是jQuery对象? --- 就是通过jQuery包装DOM对象后产生的对象。jQuery对象是j...

  • Jquery初探

    node.querySelectorAll获取到的是一个伪数组,为了以后使用方便应该变成一个简单的对象。 一个对象...

  • 初探jQuery

    jQuery API的实现 自己模拟jQuery的一个API预览:http://js.jirengu.com/pa...

  • JQuery初探

    jQuery 在兼容性方面做得很好,1.7 版本兼容到 IE 6 jQuery 还有动画、AJAX 等模块,不止 ...

  • jQuery初探

    自己封装两个函数 第一个函数,查询一个节点的兄弟姐妹 首先,先实现以下怎么获取一个节点的兄弟姐妹,并将其全部放到一...

  • JS#4 jQuery初探

    初探jQuery简单源码 1.封装两个函数 function getSiblings(node){}functio...

网友评论

      本文标题:JQuery初探

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