2013-06-05 2 views
9

У меня есть сторонний скрипт, в котором у меня нет контроля над html и я могу изменить только базовый css. Я просто хотел узнать, можно ли его разрезать на div и весь html внутри него и вставлять его в другой div, как только загружается страница?вырезать div и html внутри него и вставить его в другой div с jquery

предположит, что мы имеем

<div id="example-one"> 
     <ul class="nav"> 
     <li class="nav-one"><a href="#featured" class="current">Billing Address</a></li> 
     </ul> 
     <div class="list-wrap"> 
      hello 
     </div> 
    </div> 

и при загрузке страницы JQuery разрежет весь HTML, указывающие Див идентификатор "example-one" и вставить его в новое имя сНа это будет "new-div". Это возможно ?

ответ

8

Здравствуйте я был в состоянии найти ответ на мой вопрос, я попробовал одну функцию JQuery, и она работала как шарм, как я хотел я вставить код, чтобы он мог быть полезным для всех, у кого есть точная проблема.

jQuery(document).ready(function(){ 
$('#div1').insertAfter('.div2'); 
}); 

Это сократит div1 HTML и переместить его в div2

19

Там нет разреза & пасты в DOM, вы можете добавить его (ход его) к другой точке в DOM:

$(document).ready(function() { 
    $('#example-one').appendTo('#new-div'); 
}); 

В случае, если вы хотите создать div#new-div элемент и Безразлично «т существуют:

$(document).ready(function() { 
    $('<div/>', { id: 'new-div' }).appendTo('#somewhere').append($('#example-one')); 
}); 
+0

спасибо, что снова ответил на один из моих вопросов. на самом деле его сторонний скрипт foxycart. Я не могу держать оба div.как его несущая информация для проверки предмета, поэтому дублирование значений в скрытых полях может привести к сбою при оформлении заказа. разве мы не можем его вырезать и вставить? – user1001176

1

Использование JQuery, вы можете использовать что-то вроде этого:

$("#example-one").append("<div id="new-div"></div>"); // Add #new-div to the DOM 
$("#new-div").html($("#list-wrap").html()); // Giv #new-div the content of #list-wrap 
$("#list-wrap").remove(); // Destroy #list-wrap 
0

Вы можете выбрать элемент, который вы хотите получить содержимое затем appendTo в новый контейнер

$("#example-one").children().appendTo("#new-div"); 

Или, если вы имеете в виду, чтобы переместить DIV с ID вы можете использовать

$("#example-one").appendTo("#new-div"); 

Оба метода перемещать элементы

Для запуска скрипта при загрузке страницы вы можете использовать jQuery ready

$(function() { 
    // code here will run after DOM loads 
}); 
0

Не могли бы вы сделать что-то вроде:

$("#new-div").html($("#example-one")); 
$("#example-one").hide; 

Это будет в основном принимать все HTML от # exmaple-один и поставить его в # новый-ДИВ и скрыть # пример-один DIV.

Вот jFiddle для него: http://jsfiddle.net/sf35D/

-1

Вы можете использовать ниже код:

var text=jQuery('#div2'); 
jQuery('#div2').remove(); 
jQuery('#div1').append(text); 
+0

Это не дает ничего по сравнению с другими ответами. Тем более, что у вопроса нет 'div1' или' div2' – meskobalazs

+0

Это не работа с ложкой, и это всего лишь пример, показывающий вам, как работать соответствующим образом, дальнейшая работа будет выполняться самостоятельно, и этот скрипт уже протестирован. –

0
 <div id="example-one"> 
       <ul class="nav"> 
       <li class="nav-one"><a href="#featured" class="current">Billing Address</a></li> 
       </ul> 
       <div class="list-wrap"> 
        hello 
       </div> 
      </div> 


     $(document).ready(function() { 
      $('#example-one').appendTo('.new-div'); 
     }); 

**out put:** 
    <div class='new-div'> 
    <div id="example-one"> 
       <ul class="nav"> 
       <li class="nav-one"><a href="#featured" class="current">Billing Address</a></li> 
       </ul> 
       <div class="new-div"> 
        hello 
       </div> 
      </div> 
    </div> 

ИЛИ вы можете использовать код ниже $ ('# пример -он ') клон() appendTo (..' нового ДИВ ').

Смежные вопросы