Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 06.06.2012, 04:16
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Ты ошибаешься. Дело не в this, а в том, что я написал несколько постов назад.
Твой последний пример работает, потому что идентификатор $$ теперь используется в другой области видимости - вне кода внутри тэга <div>.
Попробуй написать:
document.getElementsByTagName("div")[2].onclick=function(){
alert($$(this).$$prev().innerHTML);
};

и убрать атрибут onclick в соответствующем <div>,
и всё будет работать.

Последний раз редактировалось oneguy, 06.06.2012 в 14:49.
Ответить с цитированием
  #12 (permalink)  
Старый 06.06.2012, 22:42
Новичок на форуме
Отправить личное сообщение для mrgordon Посмотреть профиль Найти все сообщения от mrgordon
 
Регистрация: 04.06.2012
Сообщений: 8

Но ведь если убрать

066	            obj.$$prev = function() {
067	                var elm=this;
068	                do {
069	                    elm = elm.previousSibling;
070	                } while(elm && elm.nodeType != 1);
071	                return _$$.$(elm);
072	            }
073	            obj.$$next = function() {
074	                var elm=this;
075	                do {
076	                    elm = elm.nextSibling;
077	                } while(elm && elm.nodeType != 1);
078	                return _$$.$(elm);
079	            }
080	            obj.$$first = function() {
081	                var elm=this;
082	                elm = elm.firstChild;
083	                return _$$.$(elm && elm.nodeType != 1 ? elm.nextSibling : elm);
084	            }
085	            obj.$$last = function() {
086	                var elm=this;
087	                elm = elm.lastChild;
088	                return _$$.$(elm && elm.nodeType != 1 ? elm.previousSibling : elm);
089	            }
090	            obj.$$parent = function(num) {
091	                var elm=this;
092	                num = num || 1;
093	                for (var i=0; i<num; i++)
094	                if (elm != null) elm = elm.parentNode;
095	                return _$$.$(elm);
096	            }
097	            obj.$$html = function() {
098	                var elm=this;
099	                return _$$.$(elm).innerHTML;
100	            }


то все работает в любой области видимости...
Ответить с цитированием
  #13 (permalink)  
Старый 07.06.2012, 00:41
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Можна подробнее, пожалуйста, если то убрать, то что работает?
Ответить с цитированием
  #14 (permalink)  
Старый 07.06.2012, 15:27
Новичок на форуме
Отправить личное сообщение для mrgordon Посмотреть профиль Найти все сообщения от mrgordon
 
Регистрация: 04.06.2012
Сообщений: 8

все сам разобрался, нужно заворачивать this в функцию а потом вызывать по onclick ее с передачей ей this
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие div блока при первом визите на сайт Nushaba Общие вопросы Javascript 28 20.12.2013 21:24
как сложить результаты двух(и более) функций? art-kl Элементы интерфейса 2 26.08.2009 16:56
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20
Можно ли как для произвольного массива создавать вызовы функций , имеющих на входе kefi Общие вопросы Javascript 3 17.04.2009 16:53
Как узнать какие ошибки произошли при парсинге xml файла faunder Events/DOM/Window 0 12.09.2008 14:17