2014-09-04 6 views
1

Учитывая, что div id = instafeed и div id = slick-track, я пытаюсь использовать appendTo для добавления дочерних элементов instafeed div в div slick-track.Добавить дочернее содержимое выбранного div в другой div

Начиная две дивы должны иметь следующее содержание ...

<div id="instafeed"> 
    <div><img src=""></div> 
    <div><img src=""></div> 
</div> 

<div id="slick-track"></div> 

appendTo должно привести к следующим ...

<div id="instafeed"></div> 

<div id="slick-track"> 
    <div><img src=""></div> 
    <div><img src=""></div> 
</div> 

К сожалению, я только был в состоянии выяснить, как добавить весь instafeed div в div slick-track, когда я хочу только детей. Как я могу добавить только детей?

ответ

1

Используйте метод .contents(), чтобы получить элементы для детей и добавьте его в $('#instafeed').

$('#slick-track').append($('#instafeed').contents()); 

Working Example


Если вы используете .contents(), все дочерние элементы, включая текстовые узлы будут добавлены.

С другой стороны, используя children() будет не добавить текстовые узлы.

В .contents() и children() методы аналогичны, за исключением того, что бывший включает в себя текстовые узлы, а также HTML элементы результирующего объекта JQuery.

Comparison Example

+1

Да @Josh Крозье, а также возвращает узлы комментариев и он может получить доступ к HTML из фрейма, если он находится в том же домене. Благодарим вас за обмен знаниями. :) – VPK

1

Попробуйте что-нибудь подобное,

$('#slick-track').append($('#instafeed').children()); 
Смежные вопросы