Т.е. должно получиться примерно это
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, время: 13:57. |