Добрый вечер всем!
Решил попробовать сделать что-то наподобие своего JS фреймворка.
Значит сейчас приведу часть кода, в котором примитивно выполняется одно из действий фреймворка jQuery.
Сначала пример использования:
$('#block').style.border = '1px solid red';
Выделенную часть выполняет мой код)
Теперь что надо. Надо, чтобы работали свойства, то есть я хочу, чтобы можно было выполнять такое:
$('#block').css('border', '1px solid red'); , то есть должен быть метод css.
Небольшое придесловие - я много ковырялся сегодня и сейчас будет последний вариант, я не знаю, может я с самого начала не правильно делал реализацию, но я пробовал и с объектами что-то делать и все-равно не получалось..
В ОБЩЕМ ВОТ:
(function( global ) {
var Main = function() {
var public = this;
public.getEl = function( selector ) {
if( selector.indexOf( '#' ) + 1 ) {
selector = selector.replace( /#/g, '' );
return document.getElementById( selector );
} else if ( selector.indexOf( '.' ) + 1 ) {
selector = selector.replace( /\./g, '' );
return document.getElementsByClassName( selector );
} else {
return document.getElementsByTagName( selector );
}
}
}
$ = function( selector ) {
var el = new Main();
return el.getEl( selector );
};
})( );
Вот реализация метода css:
var css = function(nameProperty, newValue) {
this.style.nameProperty = newValue;
}
Как видно, то там класс main с методом getEl, что позволяет найти элеметы.
Не знаю понятно ли я объяснил, если - нет спросите) Я с удовольствием отвечу!
ps
если удобно, то можете привести пример конструкции реализации примитивного фремворка.