Т.е. должно получиться примерно это
tel = function(window){ sdf = document.getElementById("apslaed"); return { first: function () { alert(sdf.innerHTML); return this; }, second: function () { alert(sdf.id); return this; } } }(window); tel.first().second(); но sdf нужно определить впереди, перед first и second, как это делается в jqeury, а не внутри функции как в примере выше |
можно так
<!DOCTYPE HTML> <html> <head> </head> <body> <div id='fignya'>что то типо текста</div> <script> var elem = document.getElementById('fignya'); function ElelemMethod () { var self = this; self.alert1 = function () { alert(this.innerHTML) return self; } self.alert2 = function () { alert(this.id) return self; } return self; } ElelemMethod.call(elem).alert1().alert2(); </script> </body> </html> можно использовать bind или прототипное наследование (в нем не шарю, еще 2 главы до него :)) |
Спасибо всем кто ответил. Сам бы не справился.
Я сделал так tel = function(window){ return { elems : function(e) { dd = document.getElementById(e); return this;}, first: function () { alert(dd.innerHTML+" - "+this); return this; }, second: function () { alert(dd.id+" - "+this); return this; } } }(window); tel.elems("apslaed").first().second(); Теперь хотелось бы вот эту часть tel.elems привести к одному знаменателю например к $ как в jqueru Подскажите, как это сделать. |
не совсем понял что вы хотите
|
убрать точку отсюда tel.elems,
а точнее сделать так, чтобы вметос tel.elems писать скажем $ Т.е чтобы tel.elems == $ и записать все это как $("apslaed").first().second(); |
$ - это имя функции, сделайте функцию с таким именем =)
|
А как я это сделаю.
Я могу сделать так $.elems("apslaed").first().second(); или так tel.$("apslaed").first().second(); а нужно так $("apslaed").first().second(); |
Цитата:
Цитата:
Цитата:
|
Спасибо за пояснение.
А можно как то записать теперь функцию, чтобы она выполняла метод elems объекта tel? Или может снести куда-нибудь метод, или переопределить его как-то, я честно говоря даже не знаю. |
можно так ,но я не уверен что это правильно решение (в прототипах еще не шарю), если я не прав поправьте меня
<!DOCTYPE HTML> <html> <head> </head> <body> <script> var object_ = { first: function () { alert('one'); return this; } } function $() { return {}.prototype = object_; } $().first(); </script> </body> </html> |
Часовой пояс GMT +3, время: 07:39. |