Замените на скрытые элементы, затем показывая в исходных позициях, а не в позиции их цели - PullRequest
0 голосов
/ 14 декабря 2010

Ссылка: http://jsfiddle.net/7GGeX/24/

Перейдите по ссылкам в порядке 1,2,3, и вы поймете, почему я запутался.

Использует ли использование функции внутри replaceWith аннулирование расположения замены?

$(document).ready(function () {
    $(".click1").click(function () {
        $("#one").replaceWith(function () {
            $('#replace1').show();
        });
        return false;
    });

Спасибо за помощь!

1 Ответ

2 голосов
/ 14 декабря 2010

Вам нужно return значение, которое вы хотите использовать в качестве замены.

$("#two").replaceWith(function() {
      // return the element
    return $('#replace2').show();
});

или не передавайте функцию:

$("#two").replaceWith($('#replace2').show());

Так как вы ничего не возвращали явно, показывался div replace, затем был возвращен undefined, фактически заменяя оригинал ничем.

...