Изменение позиции детей в теге <body>с помощью jQuery - PullRequest
3 голосов
/ 16 октября 2010

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

var temp = $('body').children()[0];
$('body').children()[0] = $('body').children()[1];
$('body').children()[1] = temp;

К сожалению, это не так. Я искал и нашел метод .add (), но не вижу, как добавить в начало родителя / не знаю, как удалить другого потомка.

Я ценю любую помощь.

Ответы [ 3 ]

3 голосов
/ 16 октября 2010

Это изменит положение 2 или более элементов в теле.

По сути, оно просто меняет положение элементов в теле.

Оно проходит через каждого потомка body и добавляет этого ребенка к началу тела.Это изменит порядок и, следовательно, положение элементов в теле.

$('body').children().each(function() {
    $(this).prependTo("body");
});​

Попробуйте это с помощью этого jsFiddle

( для3 элемента )

Ссылки:
.children()
.each()
.prependTo()

2 голосов
/ 16 октября 2010

Чтобы поменять местами детей, просто используйте .prependTo(), чтобы вставить любой элемент, который вы хотите в начале, например:

$('body').children().eq(1).prependTo('body');

Меняя местами элементы в массиве, вы просто изменяете элементы в объекте jQuery, ссылки на объект ... на самом деле не влияют на них в DOM.

To .prepend() элемент, непосредственно имеющий форму, выглядит следующим образом (и в основном это то, во что преобразуется вышеприведенное):

$('body').prepend($('body').children().eq(1));
0 голосов
/ 25 июля 2013

, если вы хотите поместить дочерний элемент в указанную позицию, которую вы можете использовать до, после этого: <a href="http://jsfiddle.net/KknEp/7/" rel="nofollow">jsFiddl</a></p> <p> Ссылка:

каждый

api.jquery.com / после /

api.jquery.com / найти /

api.jquery.com / дети /

...