`

把jQuery的选择器移植到MooTools中是否可行?

阅读更多
刚学moo没多久,api还没看完一遍,对moo不是很熟悉,之前也小学了一下jQuery,发现moo的选择器不如jq来得爽快,今天中午就遇到一个小问题:选择包含ul子节点的li节点(用jQuery这么写:$('li:has(ul)')),在mootools里怎么写?
我的写法如下:
$$('li').filter(function(eachLI){
	return eachLI.getElements('ul').length;
})

不知道大家有没更简单的办法。上面的方法明显比jQuery的selector麻烦,我不是很喜欢。
刚看到mootools圈子里有这么个帖子:http://mootools.group.iteye.com/group/topic/10406
眼前一亮,哇塞,这样岂不是可以在moo里直接使用jq强大的selector?
window.$$ = function(selector, context){
	return new Elements(jQuery(selector, context).get());
}

这样一来,moo的$会被覆盖掉,因为moo1.2.3的$是这样定义的:
if (window.$ == null) Window.implement({
	$: function(el, nc){
		return document.id(el, nc, this.document);
	}
});

但我觉得无所谓了,既然有jQuery的选择器,还用moo的$做什么?

嗯,不知道这样做会有什么弊端,我能想到的就是客户端得多下载一个js库。还有就是也许选择元素的时候,运行效率上会有点问题——纯属猜测。
哈哈,印象中jQuery对JavaScript原生对象的入侵非常少,几乎都是在jQuery这个对象上扩展功能,所以这样移植好像不成问题。

今天才发现,原来早就有答案了:http://mootools.net/blog/2008/12/04/sizzle/
分享到:
评论
4 楼 yuan 2010-02-05  
3 楼 全冠清 2009-08-16  
mootools对原生对象的扩展是jquery中没有的,这点完全可以和jquery互补,其他方面mootools完全不如jquery好用。
2 楼 yuan 2009-07-22  
$的冲突比较好解决,调用jQuery.noConflict()即可(详见API文档)。$$的冲突……如果moo的用法完全是jq的子集就好办了,但实际上并不是。我觉得比较稳的办法还是另外弄个变量名,不使用$$,改用$$.jQ或者其它什么合法又特殊的变量名。
1 楼 yuan 2009-07-21  
发现个大问题,这样一来,估计会影响到很多已有的mootools插件的使用。

相关推荐

    jQuery、Mootools、Prototype三大JavaScript框架中文手册

    1. **选择器**:jQuery借鉴了CSS的选择器语法,使得选取DOM元素变得简单。 2. **DOM操作**:方便地添加、删除、修改DOM元素,如`$(selector).html()`用于设置元素内容,`$(selector).append()`用于追加元素。 3. **...

    mootools颜色选择器

    - **安装**:首先,确保项目中已引入MooTools库,然后将颜色选择器的脚本和样式文件添加到页面中。 - **初始化**:通过JavaScript调用MooTools的颜色选择器插件,并绑定到相应的HTML元素上。 - **事件监听**:监听...

    Mootools和JQuery的比较

    Mootools和JQuery是两个著名的JavaScript库,它们在Web开发中被广泛用于简化DOM操作、事件处理、动画效果和Ajax交互。虽然两者都旨在提高前端开发效率,但它们的设计理念和实现方式存在显著差异。 1. API设计 ...

    四种时兴的框架jQuery,Mootools,Dojo,ExtJS的对比

    四种时兴的框架jQuery,Mootools,Dojo,ExtJS的对比

    jquery_mootools_date_plugn

    然而,像jQuery一样,MooTools并未提供一个直观易用的日期选择器界面。 "jquery_mootools_date_plugn"这个项目正是为了填补这个空白,它结合了jQuery的用户交互性和MooTools的日期处理能力。该项目可能包含以下关键...

    MooTools1.4中文PDF手册+MooTools-Core-1.5.1.js

    - **选择器引擎**:类似于jQuery的选择器API,MooTools允许开发者通过CSS选择器快速获取DOM元素集合。 2. **MooTools Core 1.5.1** - **核心模块**:MooTools-Core是MooTools的基础部分,包含了最核心的功能,如...

    jquery,mootools,ext3,prototype对class选择符速度比较

    标题中的"jquery,mootools,ext3,prototype对class选择符速度比较"指的是对四个流行的JavaScript库——jQuery、MooTools、EXT3和Prototype——在处理CSS类选择器时的性能进行的比较测试。这些库在Web开发中广泛用于...

    mootools实现同页面不同日期选择效果

    在上述代码中,`$$`是MooTools提供的选择器方法,可以选取所有具有`datepicker`类的输入元素。然后,我们对每个元素进行迭代,根据特定需求创建并配置日期选择器。 MooTools库本身并不直接包含内置的日期选择器组件...

    一周学会Mootools 1.4中文教程(1)Dom选择器

    `$$`选择器类似于jQuery中的`$`选择器,可以用于更复杂的选择,支持多种CSS选择器语法。但相较于`$`选择器,`$$`的性能较低。 **示例代码:** ```html <div id='a' class='a1'></div> <div id='b'><b>a</b></div> ...

    四种流行的AJAX框架jQuery_Mootools_Dojo_ExtJS的对比

    ### 四种流行的AJAX框架对比分析:jQuery, Mootools, Dojo, ExtJS #### 一、jQuery **主页**: <http://jquery.com/> **设计思想**: - **简洁性**: 几乎所有操作都始于选择DOM元素,并对其进行操作(支持Chaining...

    最新Mootools.chm教程及jquery-1.2.6教程

    1. **Sizzle选择器引擎**:jQuery使用Sizzle选择器,支持CSS1到CSS3的选择器,可以方便地选取页面元素。 2. **链式调用**:jQuery的API设计允许方法调用链,使得代码更紧凑。 3. **DOM操作**:jQuery提供了如`...

    MooTools 1.2 中文手册

    - **选择器(Selectors)**: 支持CSS1到CSS3的选择器,允许快速定位DOM元素。 - **动画(Animations)**: 提供了丰富的动画效果,可以自定义速度曲线和结束回调。 - **JSON支持(JSON)**: 安全的JSON解析和字符串化...

    Prototype、JQuery和Mootools的概要图

    1. **选择器**:jQuery引入了CSS样式的元素选择器,使得选取DOM元素变得极其简单。 2. **DOM操作**:jQuery提供了丰富的DOM操作方法,如`.append()`, `.remove()`, `.hide()`等,简化了元素的添加、删除和样式修改。...

    mootools.js插件 1.4.5 core下载.zip

    mootools.js可以生成较为复杂的、动态的网页交互效果,和jquery一样强大。。Mootools从Prototype.js中汲取了许多有益的设计理念,语法也和其极其类似。但它提供的功能要比Prototype.js多,整体设计 也比Prototype.js...

    Mootools 圆形时钟风格的Js时间选择器.zip

    《Mootools圆形时钟风格的Js时间选择器详解》 在前端开发中,时间选择器是一个常见的组件,它能够帮助用户方便地选取特定的时间。本文将深入探讨一个基于Mootools框架,采用圆形时钟风格的JavaScript时间选择器。...

    mootools 1.2 中文文档

    - **Selectors**:支持CSS选择器,使获取DOM元素变得更加简单,如`$$`用于获取匹配选择器的所有元素。 - **事件绑定**:`addEvent`和`removeEvent`方法用于添加和移除事件监听器,支持事件委托。 3. **Ajax**: ...

    Mootools 双区间节点的滑块选择器.zip

    "Mootools 双区间节点的滑块选择器"是一个基于JavaScript库Mootools开发的交互组件,主要用于网页上的数值选择。这个组件允许用户通过两个滑块来定义一个数值范围,适用于如价格区间筛选、时间范围设定等场景。下面...

    JavaScript libraries--->jQuery, Prototype, Mootools, YUI, Extjs, Dojo

    在给定的标题"JavaScript libraries--->jQuery, Prototype, Mootools, YUI, Extjs, Dojo"中,提到了五种著名的JavaScript库:jQuery、Prototype、Mootools、YUI和ExtJS。这些库都有各自的特性和优势,下面将详细介绍...

    300+Jquery, CSS, MooTools 和 JS的导航菜单

    标题 "300+Jquery, CSS, MooTools 和 JS的导航菜单" 涵盖了四个关键领域:jQuery、CSS、MooTools以及JavaScript,这些都是网页开发中的核心技术。这些技术用于创建动态、交互式的网站导航菜单,为用户提供更丰富的...

Global site tag (gtag.js) - Google Analytics