Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 20.08.2012, 04:57
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

Кстати, насколько я понимаю, вот так вот можно создать полную копию объекта.
copy = {}.prototype = tel;

при этом {}.prototype здесь служит как бы посредником.
А как еще можно записать подобное выражение?
И самый главный вопрос, как заставить работать код, если элемента на странице не существует.
Ответить с цитированием
  #32 (permalink)  
Старый 20.08.2012, 05:00
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

опять туплю =)
а зачем вообще что то делать?
если такого id нет то в переменная dd = null;
var dd =  document.getElementById('id');
alert('run');

var dd = document.getElementById;
alert('run');

и код ниже выполнится, ошибки не будет
Ответить с цитированием
  #33 (permalink)  
Старый 20.08.2012, 14:07
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

В данном случае я вывожу кнопку войти, в личном кабинете, либо кнопку кабинет, если человек вошел. Кроме прочего элемента может еще не быть на странице, но он может быть создан в ходе каких-то действий.

Видимо ошибка выдается т.к. к объекту котогоро нет, применяется метод, на что и ругается браузер.
Ответить с цитированием
  #34 (permalink)  
Старый 20.08.2012, 14:49
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

ну смотрите вы не записали нечего переменную и применили метод вы всеравно получите ошибку, перед тем как его применять делайте проверку и все
Ответить с цитированием
  #35 (permalink)  
Старый 20.08.2012, 18:07
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

Спасибо. Вроде все верно. Буду разбирать код по частям и разбираться.
Возник еще один вопрос.
В данном примере я могу применить метод к dd, но не могу вернуть сам dd - элемент на который я применяю метод. Можно ли как-то сделать так, чтобы применить к dd стандартные методы и свойства javascript,
т.е. сделать так, чтобы подобная запись работала

alert(tel.elems(e).innerHTML)
Ответить с цитированием
  #36 (permalink)  
Старый 20.08.2012, 18:09
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

я не знаю, просто в jquery , все на много сложней чем вам кажется=)
Ответить с цитированием
  #37 (permalink)  
Старый 20.08.2012, 18:33
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

Спору нет.
Но я к сожалению довольно слаб в ооп.
На данный момент я могу либо вернуть элемент
return dd = document.getElementById('id');

либо вернуть this.
dd = document.getElementById('id'); return this;

При этом я честно говоря, так до конца и не понял, что же происходит, когда я возвращаю this.
т.е. this содержит весь код объекта.
Т.е. если я верно понимаю я возвращаю код объекта, т.е. сам объект и что происходит потом ?
Ответить с цитированием
  #38 (permalink)  
Старый 20.08.2012, 18:52
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

можно так
<!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>
Ответить с цитированием
  #39 (permalink)  
Старый 20.08.2012, 19:47
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от platedz
Т.е. если я верно понимаю я возвращаю код объекта, т.е. сам объект и что происходит потом ?
и значит снова можно обратится к тому же объекту-получается цепочка если бы ничего не возвращали(или что то другое) то цепочка прерывается
Ответить с цитированием
  #40 (permalink)  
Старый 20.08.2012, 20:37
Профессор
Отправить личное сообщение для platedz Посмотреть профиль Найти все сообщения от platedz
 
Регистрация: 15.08.2012
Сообщений: 285

Спасибо.
А где содержится InnerHTML? Можно ли как-то получить весь список глобальных свойств и затем перебрав их в цикле присвоить их к данному объекту.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery UI Slider - как синхронизировать слайдер со значнием? frightened jQuery 0 24.07.2011 00:19
Необходимы советы как убирать не нужное из библиотеки jquery. dr_gluk jQuery 13 18.07.2011 12:05
Как получить список пользовательских функций объекта window? Маэстро Events/DOM/Window 13 03.07.2010 13:20
Как отключить submit формы в jQuery? khusamov Общие вопросы Javascript 2 08.07.2009 00:54
Как правильно подгрузить jQuery Siton jQuery 4 15.06.2009 09:54