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