Вызов функции из функции с параметрами
Приветствую!
Имеется такая конструкция <div id="vvv" title="555">123</div> <script> var $ = (function() { return { add: function(e){ alert(e.title); } } }()) $.add(document.getElementById('vvv')); </script> .. все работает. Подскажите как сделать так, чтобы сработал такой вызов $(document.getElementById('vvv')).add(); |
http://api.jquery.com/add/ - почитай сначала как использовать и для чего
|
Так что ли?
<div id="vvv" title="555">123</div> <script> var $ = function(e) { return { add: function(){ alert(e.title); } } }; $(document.getElementById('vvv')).add(); </script> |
SV0L0CH,
большое спасибо, это то что нужно |
Подскажите, как можно сделать так, чтобы при вызове, например, $('abc') - возвращался элемент, но при этом $('abc').add() выполнялось как и должно, в моем варианте при вызове $('abc') вернет объект со всеми перечисленными функциями..
var $ = function(e) { var _e = d.getElementById(e); if(_e == null) { return console.log(e+' not found'); } else { return _e; } return { add: function(f){ //alert(f); }, func1: function(){ ... }, ... } |
Берёшь элемент и добавляешь в него все необходимые функции, потом возвращаешь.
Если таких элементов много, то есть смысл воспользоваться паттерном "наследование", однако заниматься этим в ближайшее время не рекомендую. PS начни давать более очевидные названия переменным хотябы в коде который оставляешь на форуме. |
Цитата:
<html> <head> </head> <body> <div id="vvv" title="555">123</div> <script> main={ get: function(){alert(this.self.title)} } $=function(id) { var o=Object.create(main) o.self=document.getElementById(id) return o } $('vvv').get(); </script> </body> </html> |
registrant,
$('vvv') вернет Object {self: div#vvv, get: function} нужно чтобы при вызове $('vvv') возвращался элемент, а при вызове $('vvv').get() alert Может кто нибудь знает как совершить проверку на вызов вложенной функции? |
cript,
Невозможно это сделать. HTML-элементы только "прикидываются" нативными объектами, они не дают себя расширять полноценно, это часть браузерного API, а не часть языка. Какая тебе разница, что возвращается? Тебе нужен некоторый интерфейс, какая разница, как он реализован? Учись построению абстракций. |
можешь делать вот так
<html> <head> </head> <body> <div id="vvv" title="555">123</div> <script> get=function(){alert(this.title)} $=function(id) { return document.getElementById(id) } get.call($('vvv')) </script> </body> </html> Если уж приспичило. |
Часовой пояс GMT +3, время: 15:49. |