JavaScript 原生实现 jQuery 的方法

栏目: jQuery · 发布时间: 5年前

内容简介:提供 jQuery 中的 $()、siblings()、addClass()、hasClass()、removeClass()、toggleClass() 等方法的原生 JavaScript 实现方法,以下方法适用于 Vue.js 项目个人强烈推荐,既然用了 Vue.js 来做项目的话,不要去引用 jQuery,因为 jQuery 能实现的功能,在 Vue.js 的项目一定能找到对应的解决方案。但是有人就说了,我就是想用 jQuery 中的某些方法,然鹅 Vue.js 却找不到对应的 API 或者根本不知道

提供 jQuery 中的 $()、siblings()、addClass()、hasClass()、removeClass()、toggleClass() 等方法的原生 JavaScript 实现方法,以下方法适用于 Vue.js 项目

Vue.js 不等于 jQuery

个人强烈推荐,既然用了 Vue.js 来做项目的话,不要去引用 jQuery,因为 jQuery 能实现的功能,在 Vue.js 的项目一定能找到对应的解决方案。但是有人就说了,我就是想用 jQuery 中的某些方法,然鹅 Vue.js 却找不到对应的 API 或者根本不知道它在哪里,所以下面收集了几个原生 JavaScript 实现方法仅供参考。

$()

<script>
export default {
  methods: {
    $(obj) {
      return document.querySelectorAll(obj)
    }
  }
}
</script>

siblings()

<script>
export default {
  methods: {
    siblings(elem) {
      let a = [];
      let b = elem.parentNode.children;
      for (let i = 0; i < b.length; i++) {
        if (b[i] !== elem) a.push(b[i]);
      }
      return a;
    }
  }
}

addClass()

<script>
export default {
  methods: {
    addClass(ele, cls) {
      ele.className = `${ele.className} ${cls}`;
    }
  }
}

hasClass()

<script>
export default {
  methods: {
    hasClass(ele, cls) {
      return ele.className.match(new RegExp("(\\s|^)" + cls + "(\\s|$)"));
    }
  }
}
</script>

removeClass()

<script>
export default {
  methods: {
    removeClass(ele, cls) {
      if (this.hasClass(ele, cls)) {
        let reg = new RegExp("(\\s|^)" + cls + "(\\s|$)");
        ele.className = ele.className.replace(reg, " ");
      }
    }
  }
}

toggleClass()

<script>
export default {
  methods: {
    toggleClass(ele, cls) {
      if (this.hasClass(ele, cls)) {
        this.removeClass(ele, cls);
      } else {
        this.addClass(ele, cls);
      }
    }
  }
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

区块链与人工智能:数字经济新时代

区块链与人工智能:数字经济新时代

高航、俞学劢、王毛路 / 电子工业出版社 / 2018-7-23 / 80

《区块链与人工智能》是畅销书《区块链与新经济:数字货币2.0时代》全新修订升级版。本书是市场上为数不多的系统阐述区块链、人工智能技术与产业的入门级系统教程。从比特币到各类数字货币(代币),从基础原理到应用探讨,全景式呈现区块链与人工智能的发展脉络,既有历史的厚重感也有科技的未来感。本书的另一个亮点是系统整理了区块链创业地图,是一本关于区块链创业、应用、媒体的学习指南,以太坊创始人Vitalik专门......一起来看看 《区块链与人工智能:数字经济新时代》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具