Кстати, насколько я понимаю, вот так вот можно создать полную копию объекта.
copy = {}.prototype = tel; при этом {}.prototype здесь служит как бы посредником. А как еще можно записать подобное выражение? И самый главный вопрос, как заставить работать код, если элемента на странице не существует. |
опять туплю =)
а зачем вообще что то делать? если такого id нет то в переменная dd = null; var dd = document.getElementById('id'); alert('run'); var dd = document.getElementById; alert('run'); и код ниже выполнится, ошибки не будет |
В данном случае я вывожу кнопку войти, в личном кабинете, либо кнопку кабинет, если человек вошел. Кроме прочего элемента может еще не быть на странице, но он может быть создан в ходе каких-то действий.
Видимо ошибка выдается т.к. к объекту котогоро нет, применяется метод, на что и ругается браузер. |
ну смотрите вы не записали нечего переменную и применили метод вы всеравно получите ошибку, перед тем как его применять делайте проверку и все
|
Спасибо. Вроде все верно. Буду разбирать код по частям и разбираться.
Возник еще один вопрос. В данном примере я могу применить метод к dd, но не могу вернуть сам dd - элемент на который я применяю метод. Можно ли как-то сделать так, чтобы применить к dd стандартные методы и свойства javascript, т.е. сделать так, чтобы подобная запись работала alert(tel.elems(e).innerHTML) |
я не знаю, просто в jquery , все на много сложней чем вам кажется=)
|
Спору нет.
Но я к сожалению довольно слаб в ооп. На данный момент я могу либо вернуть элемент return dd = document.getElementById('id'); либо вернуть this. dd = document.getElementById('id'); return this; При этом я честно говоря, так до конца и не понял, что же происходит, когда я возвращаю this. т.е. this содержит весь код объекта. Т.е. если я верно понимаю я возвращаю код объекта, т.е. сам объект и что происходит потом ? |
можно так
<!DOCTYPE HTML> <html> <head> </head> <body> <div id='elem'>askasdfskdofkdof</div> <script> var object_ = { find: function (id) { this.elem = document.getElementById(id); this.innerHTML = this.elem.innerHTML; return this; }, } function $(select) { return object_.find(select); } alert($('elem').innerHTML) </script> </body> </html> |
Цитата:
|
Спасибо.
А где содержится InnerHTML? Можно ли как-то получить весь список глобальных свойств и затем перебрав их в цикле присвоить их к данному объекту. |
Часовой пояс GMT +3, время: 14:19. |