Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   $('my').load(); Как сделать, чтобы это заработало (https://javascript.ru/forum/misc/7106-%24-%27my%27-load-%3B-kak-sdelat-chtoby-ehto-zarabotalo.html)

mycoding 15.01.2010 21:29

$('my').load(); Как сделать, чтобы это заработало
 
Подскажите, Как сделать, чтобы это заработало.
Начинка не важна , главное сама структура записи класса
<html>

<body>
ljkj
<div id=my>HI</div>
</body>

</html>
<script>
function $(id)
{
this.load = function() {alert(1);}
}
$('my').load();
</script>

Kolyaj 15.01.2010 21:49

new $('my').load();

Octane 15.01.2010 22:07

Ну если без new хочется, то как-то так:
function $(arg) {
    return new $.wrapper(arg);
}

$.wrapper = function () {
    this…
};

$.wrapper.prototype = $.prototype = {
    constructor: $,
    method: function (…) {
        …
    }
};

mycoding 15.01.2010 22:19

А есть ли где-нинибь статья про это, чтобы прочитать, или учебник, я щас читаю Javascript подробное руководство 5-ое издание автор Дэвид Флэнаган уже на 157 странице, третью неделю читаю, столько всего узнал.....

Octane 15.01.2010 22:31

http://javascript.ru/tutorial/object

mycoding 15.01.2010 23:11

попробовал, этот пример, что-то не могу его доделать, если кто может, подскажите. просто хочется свой jquery написать ...

Octane 15.01.2010 23:20

ну еще у одного «jQuery головного мозга», как говорит Kolyaj :D

Что не получается то?

mycoding 16.01.2010 16:41

Должно же быть как то так, но оно не работает
function $(arg) {
	    return new $.load(arg);
	}
	 
	$.load = function () {
	   alert(1)// this…
	};
	 
	$.load.prototype = $.prototype = {
	    constructor: $,
	    method: function (…) {
	        //…
	    }
	};

Octane 16.01.2010 16:49

function $(node) {
    return new $.wrapper(node);
}

$.wrapper = function (node) {
    this.node = node;
};

$.wrapper.prototype = $.prototype = {
    constructor: $,
    load: function () {
        alert(1);
    },
    test: function () {
        alert(this.node.nodeName);
        return this;
    }
};


$(document.body).test().load();

mycoding 16.01.2010 16:57

Просто хотел показать, что получилось вот это, а теперь буду смотреть Ваш код Octane, огромное спасибо.
<html>

<body>
ljkj
<div id=my>HI</div>
</body>

</html>
<script>
function $(arg) {}

$.prototype.load = function() {alert(1);}
	 
new $('hi').load();

</script>


Часовой пояс GMT +3, время: 22:51.