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

jQuery 一个简单API的实现

作者: bzwhlll | 来源:发表于2018-05-31 21:26 被阅读0次

需求:
写一个jQuery函数,函数的功能如下面描述。传入选择器,为所有符合条件的元素添加样式或改变文本内容。

window.jQuery = ???
window.$ = jQuery

var $div = $('div')
$div.addClass('red') // 可将所有 div 的 class 添加一个 red
$div.setText('hi') // 可将所有 div 的 textContent 变为 hi

实现思路:

由功能想到DOM对应的API
querySelectorAll() element.classList.add() element.textContent
结构表示$div是一个对象,可以调用addClass方法。$()函数需返回一个对象。addClass、setText实现对应功能。

实现一个addClass方法

addClass = function(classname) {
    for (let i = 0; i < nodes.length; i++) {
        nodes[i].classList.add(classname)
    }
}

实现setText功能

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

jQuery函数实现,

假如函数需要返回一个nodes,且包含有元素的信息。可以构造一个对象nodes,由于 querySelectorAll() 返回的是一个包含元素的伪数组结构,因此 遍历这个列表,把对应元素存储到nodes里,添加length属性,标记元素数量。最后函数里把addClass,setText函数添加到nodes的属性里。

window.jQuery = function(selector) {
    let nodes = {}
    if (typeof selector === 'string') {
        let temp = document.querySelectorAll(selector)
        
        for (let i = 0; i < temp.length; i++) {
        }
        nodes.length = temp.length

        nodes.addClass = function(classname) {
        }

        nodes.setText = function(text) {
        }
    }
    return nodes
}

相关文章

  • 如何实现一个jQuery的api

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

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

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

  • 简单实现jQuery API

    具体的思路:1.封装一个函数,传入节点或者选择器字符串,可以返回伪数组,伪数组中包含获取到的dom元素==> 对函...

  • 初探jQuery

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

  • 实现一个 jQuery 的 API

    实现一个 jQuery 的 API 实现步骤 命名空间模式 这个模式的调用为jQuery.addClass(ite...

  • 实现一个简单jQuery的API

    jQuery的基本设计思想和主要用法,就是"选择某个网页元素,然后对其进行某种操作"。使用jQuery的第一步,往...

  • jQuery 一个简单API的实现

    需求:写一个jQuery函数,函数的功能如下面描述。传入选择器,为所有符合条件的元素添加样式或改变文本内容。 实现...

  • 简单实现一个jQuery的API

    要实现的目标:使页面中所有的div添加一个class和改变div的textContent。我们给每个div加个名为...

  • 简单实现一个 jQuery 的 API

    一、先总体构建出函数如下 二、获得函数要操作的对象,保持输出结果一致 给node的添加class属性,用forEa...

  • 一个简单jquery api的实现

    如下的代码结构: 需求如下: 思路分析 写一个方法 ,找到这个节点写一个 addClass方法,给节点添加样式写一...

网友评论

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

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