我已经开始将我的网站上的代码转换为来自mootols的jquery我想要包含jQuery而不是mootools,然后将我在mootools中使用的一些函数写入jQuery,这样我就可以使用完全相同的代码。我正在使用的一些代码我已经转换了例如:
jQuery.fn.addEvent = jQuery.fn.bind;
但是我很难做到这些:
$some_node.getElement('.class'); //where $some_node is an element like $(.selector);
$some_node.addClass('class');
$some_node.fireEvent('focus');
_node.setProperty('disabled', 'disabled').addClass('disabled');
$btn_node.removeProperty('disabled').removeClass('disabled');
那里有什么东西吗?
答案 0 :(得分:2)
假设$some_node
是一个jQuery对象,那么jQuery中的等价函数将是
getElement('selector')
应为find('selector').first()
,因为Mootools中的getElement
似乎返回第一个元素,因此first
用于减少find
结果数组一到一个。addClass('class')
只是...... addClass('class')
。看不清楚为什么你会遇到这个问题。fireEvent('event')
应为trigger('event')
setProperty('attribute', 'value')
应为attr('attribute', 'value')
removeProperty('attribute')
应为removeAttr('attribute')
当然,两种语言的功能之间几乎肯定存在微妙的差异,其中大多数我都不能指出,因为我不熟悉Mootools。
答案 1 :(得分:0)
以上情况肯定会转换为:
$('.class').addClass('class');
$('.class').live("focus", function(e) {
//Do something on focus
//E.g. $(this).attr('disabled', 'disabled').addClass('disabled');
});
或者,如果您只想将文档重点放在该元素上:
$('.class').focus();