За последние 24 часа нас посетили 17440 программистов и 1716 роботов. Сейчас ищут 1583 программиста ...

Есть задача. Получить tag текущего скрипта.

Тема в разделе "JavaScript и AJAX", создана пользователем mpak, 18 ноя 2014.

  1. mpak

    mpak Активный пользователь

    С нами с:
    30 окт 2006
    Сообщения:
    440
    Симпатии:
    0
    Еще поймал какой то глюк. Обращаюсь к родительскому обьекту. И в нем почему то отсутствует все, кроме скрипта. Как такое возможно? Кто сталкивался. Вот код который использую

    Код (Text):
    1. <div> <!-- контейнер на который повиснут все события -->
    2.    <script>
    3.       $(function(script){
    4.             console.log("$(script).parent():", $(script).parent().get(0).outerHTML);
    5.          $(script).parent().on("change", "select", function(e){
    6.                 alert("click");
    7.          }).each(function(){
    8.                 var form = $(this).find("form").innerHTML;
    9.                 console.log("console.log:", form);
    10.          });
    11.       }(document.scripts[document.scripts.length-1]));
    12.    </script>
    13.    <div>
    14.         <form action="/">
    15.             test
    16.         </form>
    17.       <select>
    18.             <option>1</option>
    19.             <option>2</option>
    20.         </select>
    21.    </div>
    22. </div>
    Это выдает в логах

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

    Причем интересно, что если вывести в лог немного подругому
    console.log("$(script).parent():", $(script).parent().get(0));
    то нижняя часть верстки попадает в лог.