Преобразование из Mootools в Jquery

Я начал преобразовывать код на своем сайте в jquery из mootols. Я бы хотел включить 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');

Есть ли что-то для этого?

2 ответа

Решение

Предполагая, что $some_node является объектом jQuery, то эквивалентная функция в jQuery будет

  • getElement('selector') должно быть find('selector').first(), как getElement в Mootools похоже возвращает первый элемент, таким образом first используется для уменьшения find массив результатов обратно до единицы.
  • addClass('class') просто... addClass('class'), Не могу понять, почему у вас будут проблемы с этим.
  • fireEvent('event') должно быть trigger('event')
  • setProperty('attribute', 'value') должно быть attr('attribute', 'value')
  • removeProperty('attribute') должно быть removeAttr('attribute')

Конечно, почти наверняка есть тонкие различия между функциями в обоих языках, на большинство из которых я не могу указать, поскольку я незнаком с Mootools.

Конечно, вышеизложенное будет преобразовано в:

$('.class').addClass('class');

$('.class').live("focus", function(e) {
     //Do something on focus
     //E.g. $(this).attr('disabled', 'disabled').addClass('disabled');
});

Или, если вы просто хотите установить фокус документа на этот элемент:

$('.class').focus();
Другие вопросы по тегам