Есть код:
function $(element) {
if (typeof element == 'string') {
var node = element.substr(0, 1);
if (node === '#') {
element = document.getElementById(element.substr(1, element.length));
}
else if (node === '.') {
element = document.getElementsByClassName(element.substr(1, element.length));
}
else {
element = document.getElementsByTagName(element);
}
}
return (element && element != 'undefined') ? element : false;
}
$.html = function(element, str) {
if (typeof str == 'string' || typeof str == 'number') {
$(element).innerHTML = str;
}
}
В данном случае при вызове $.html('#content', 'some text'); в элемент с id=content выведет "some text".
Как преобразовать код выше, чтобы при вызове $('#content').html('some text'); выполняло тоже самое действие?
ma3uk, и что с этим потом делать? Никак не соображу...
добавлено спустя 2 минуты:
Может... в функции $ написать, что-то вроде:
this.html = function(str) {
this.innerHTML = str;
}
function $(element) {
if (typeof element == 'string') {
var node = element.substr(0, 1);
if (node === '#') {
this.element = document.getElementById(element.substr(1, element.length));
}
else if (node === '.') {
this.element = document.getElementsByClassName(element.substr(1, element.length));
}
else {
this.element = document.getElementsByTagName(element);
}
}
return this
}
это я понял. А вот далее...
Я сейчас не возле компа, еду домой в поезде (ничего похимичить не могу)
добавлено спустя 3 часа:
Добрался до компа, и... ВСЕ РАБОТАЕТ!!!!
ma3uk, спасибо за подсказку (return this)