Спасибо Erolast за ссылку. Получилось так:
var $ = function (selector){
this.tags = document.querySelectorAll(selector);
if(this.$) {
return new $(selector);
}
}
$.prototype.addClass = function(className){
for (var i = 0; i < this.tags.length; i++){
this.tags[i].classList.add(className);
}
return this;
}
$.prototype.html = function(){
this.tags[0].innerHTML;
console.log(this.tags[0].innerHTML);
return this;
}
$('div').addClass('class1').html().addClass('class2').html();
Только вопрос: почему зацикливается вызов $, если писать
так:
return new $(selector);
а не так:
if(this.$) {
return new $(selector);
}