За последние 24 часа нас посетили 58737 программистов и 1816 роботов. Сейчас ищут 914 программистов ...

Как DOM ить теги?

Тема в разделе "JavaScript и AJAX", создана пользователем bxN5, 16 фев 2012.

  1. bxN5

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

    С нами с:
    15 янв 2009
    Сообщения:
    51
    Симпатии:
    0
    Мне нужно загружать хедер и футер сайта (html) через AJAX
    пробовал делать через innerHTML или append
    Код (Text):
    1. $.get("gethtmlcode", function(data){
    2.         $('.header').append(data);
    3.     });
    проблема в том, что у меня теги сами закрываются т.е например у меня идет <div class="container_24"> и он должен закрываться уже в футере, а он автоматически сам сразу же в хедере закрывается,
    подскажет кто как сделать?
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    вы типа хотите обернуть содержимое сайта дивом "контейнер 24"? ну вот я своим вопросом уже подсказал ответ (если идея такая) - все содержимое выдернуть со страницы, подгрузить и воткнуть ваш див и в него вписать обратно содержимое страницы. катит?
     
  3. bxN5

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

    С нами с:
    15 янв 2009
    Сообщения:
    51
    Симпатии:
    0
    спасибо за ответ но
    у меня целый хедер таких контейнеров которыми надо обернуть сайт, а сам контент не должен через ajax подключаться
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    так хедер и футер пусть аяксом будут а контент - нет. но идея выдернуть, получить, вставить - похоже нормальный вариант решения. я не предлагаю содержимое аяксить. оно выдернется в озу браузера и поживет там пока аяксом загрузим хедер/футер (это ж один див судя по описанию) и потом вставим в нужное место)))
     
  5. AndreJM

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

    С нами с:
    25 янв 2012
    Сообщения:
    522
    Симпатии:
    0
    Как я понял из вашей задачи, часть HTML-кода находится в <header> и в <body> одновременно, то есть открытый DIV в <header> и закрывается он скажем где-то в <body>. Однако <body> у вас генерится в момент загрузки страницы, а <header> вы хотите подгрузить уже в document.ready
    Допустим:
    Код (Text):
    1.  
    2.  <!-- header #start -->
    3.  <div id="startPanel">
    4.     <div id="dynamicLogo"></div>
    5.  <!-- header #end -->
    6.  <!-- body #start -->
    7.     <div id="staticTitle"></div>
    8.  </div id="startPanel">
    По логике вещей, div#startPanel является некой статической сущностью, а вот div#dynamicLogo может меняться, для чего и хочется сделать это AJAX-ом. В таком случае нет необходимости подгружать div#startPanel и его можно перенести в <body>.
    Если я все правильно понял, то AJAX-ом следует подгрузить например:
    Код (Text):
    1.  
    2. * новые стили для div#startPanel
    3. * новые стили для div#dynamicLogo
    4. * сам div#dynamicLogo
    5. * содержимое div#dynamicLogo
    6. и т.п.
    Если всё на много сложнее, то я не вижу смысла разгребать это, однако если вы грамотный js-кодер, то лучше состряпать js-код который все разнесёт и будет после AJAX разносить только потому, что всё это ляжет на плечи браузера =)