假设我想要构建一个非依赖的
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) ); }