微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用于类/ id选择的轻量级替代jQuery

假设我想要构建一个非依赖的 JavaScript框架/脚本.有没有办法利用jQuery的惊人的类和元素选择功能
$('.this') or $('#this') or $('div','.this')

不依赖于jQuery或使用jQuery,如果它可用,但如果没有,它可以没有它吗?我搜索了这个高低.也许我正在搜索不正确,因为我最接近的是这样的:

Selecting elements without jQuery

但是,这并不像我想要的一样深入,或者像我想要的jQuery一样.我已经考虑挖掘jQuery源代码,并将这些内容挖出来并使用它,但我希望有人已经做到了,我只是在错误的地方看,有人知道它.

更新

这已经在几个方面回答了,谢谢你的快速回复.我正在用错误方法进行搜索.我终于来了:https://github.com/ded/qwery

然而,这个答案完美地完成了这个工作:
Lightweight alternative to jQuery for class / id selecting

解决方法

除了IE6和IE7之外,您可以使用document.querySelectorAll或someElement.querySelectorAll来执行类似的选择功能.

更新更多细节:

看起来ZeptoJS做如下.这对于$$(document,’#myid’),$$(document,’.myclass’),’div’)和$$(document,’div>)的缓慢搜索使用快速函数.我的课’)

var classSelectorRE = /^\.([\w-]+)$/,idSelectorRE = /^#([\w-]+)$/,tagSelectorRE = /^[\w-]+$/;

$$= function(element,selector){
  var found;
  return (element === document && idSelectorRE.test(selector)) ?
    ( (found = element.getElementById(RegExp.$1)) ? [found] : [] ) :
    Array.prototype.slice.call(
      classSelectorRE.test(selector) ? element.getElementsByClassName(RegExp.$1) :
      tagSelectorRE.test(selector) ? element.getElementsByTagName(selector) :
      element.querySelectorAll(selector)
    );
}

原文地址:https://www.jb51.cc/jquery/179804.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐