Цитата:
ReferenceError: arg is not defined { message="arg is not defined", more...} |
понял) а что проверяется этим: if(this.dom) во 2-й строке?
|
Цитата:
Цитата:
http://javascript.ru/forum/misc/7106...html#post40714 |
Octane, а если мне надо чтобы dom() и все методы от неё возвращали объект переданый dom, как так сделать? с методами я вроде понял: return this.node; там) а dom() можно?
|
А смысл? Методы только в прототипе dom могут быть (кросс-браузерно), если DOM-элемент вернуть, никаких кастомных методов мы не получим.
|
ну мне нужно) например чтоб можно было написать и так: dom().style.color'=red'; независимо от методов. Так возможно сделать? (ток при этом чтоб методы тож имели туда доступ, как щас)
|
|
чё-то я ваще запутался с этим js... ( Но есть же вообще в природе какие-то способы сделать так: dom(arg).text('text') - это добавляет текст и возвращает arg и просто dom(arg) возвращает arg?
У вас в js-core если я правильно понял так и есть: "В js-core функции core(…) и $(…) эквивалентны, и возвращают новую копию объекта core, содержащую ссылку на указанный узел. function $(arg) { return typeof arg == "string" ? document.getElementById(arg) : arg; }" Ток чё с методами тогда.. как совместить то эти вещи? |
function dom(arg) { var element = typeof arg == "string" ? document.getElementById(arg) : arg; if (!element) return null; var method, methods = dom.customMethods; for (method in methods) { if (methods.hasOwnProperty(method)) { element[method] = methods[method]; } } return element; } dom.customMethods = { text1: function (str) { if (!arguments.length) return this.innerText || this.textContent; this.innerHTML = ""; this.appendChild(document.createTextNode(str)); return this; } }; dom(document.body).text1("Тарам пам пам").style.backgroundColor = "#fee"; Цитата:
function dom(…) {…} var $ = dom; |
Большое спасибо, то что нужно) последний вопрос, а по скорости это хуже или лучше чем использование prototype?
|
Часовой пояс GMT +3, время: 17:54. |