Еще поймал какой то глюк. Обращаюсь к родительскому обьекту. И в нем почему то отсутствует все, кроме скрипта. Как такое возможно? Кто сталкивался. Вот код который использую Код (Text): <div> <!-- контейнер на который повиснут все события --> <script> $(function(script){ console.log("$(script).parent():", $(script).parent().get(0).outerHTML); $(script).parent().on("change", "select", function(e){ alert("click"); }).each(function(){ var form = $(this).find("form").innerHTML; console.log("console.log:", form); }); }(document.scripts[document.scripts.length-1])); </script> <div> <form action="/"> test </form> <select> <option>1</option> <option>2</option> </select> </div> </div> Это выдает в логах Код (Text): console.log: <div> <!-- контейнер на который повиснут все события --> <script> $(function(script){ console.log("$(script).parent():", $(script).parent().get(0).outerHTML); $(script).parent().on("change", "select", function(e){ alert("click"); }).each(function(){ var form = $(this).find("form").innerHTML; console.log("form:", form); }); }(document.scripts[document.scripts.length-1])); </script></div> В родительском элементе нет кода который идет за скриптом, хотя физически он там есть. Пытался сделать поиск элементов в родителе .find("form") и метод ничего не возвращает. При этом все события работают правильно. Изменение списка приводит к срабатыванию alert() Очень странная ситуация. Ничего подобного раньше не встречал. Даже не знаю куда копать. Причем интересно, что если вывести в лог немного подругому console.log("$(script).parent():", $(script).parent().get(0)); то нижняя часть верстки попадает в лог.