补全一段jQuery代码

补全下面代码:

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

补全后:

    window.jQuery = function (nodeOrSelector) {
      let nodes = {}

      let temp = document.querySelectorAll(nodeOrSelector) //伪数组
      for (let i = 0; i < temp.length; i++) {
        nodes[i] = temp[i]
      }
      nodes.length = temp.length

      // 设置所有 div 的 textContent 
      nodes.setText = function (text) {
        for (let i = 0; i < nodes.length; i++) {
          nodes[i].textContent = text
        }
      }
      // 为所有 div 添加 class
      nodes.addClass = function (className) {
        for (let i = 0; i < nodes.length; i++) {
          nodes[i].classList.add(className)
        }
      }

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

主要思路是,window.$ = jQuery所以window.jQuery要等于一个函数,这个函数接收一个参数,返回一个对象,返回的对象包含两个方法,这两个方法可以添加text文本和添加class类

    原文作者:yangdepp
    原文地址: https://segmentfault.com/a/1190000017483030
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞