альтернативная замена с помощью () jquery без потери второго элемента

#jquery #replacewith

#jquery #замена с

Вопрос:

пример

 <script type="text/javascript">
$(document).ready(function () {
    $("#exp1").replaceWith($("#exp2"));
});
</script>


<div class="exp1">example 1</div>
<div class="exp2">example 2</div>
  

когда я использую этот код, я потерял exp2 (средний пример 2 не отображается), отображается только пример 1, который был заменен примером 2..
как мне не потерять и просто заменить exp1 на exp2 и отобразить результат, как показано ниже

 <div class="exp2">example 2</div>
<div class="exp2">example 2</div>
  

пожалуйста, помогите мне.. Спасибо

Комментарии:

1. $(".exp1").replaceWith(".exp2"); используйте это. jsfiddle.net/buGH8/1

2. Ваш код не имеет смысла: нет никаких элементов, которые соответствуют селекторам #exp1 или exp2 .

3. пожалуйста, посмотрите мои последние правки..

4. Проблема по-прежнему не повторяется: селекторы соответствуют идентификаторам, но элементы имеют классы.

5. да, Юхана, это была моя ошибка.. Я изменил его, и теперь он изменился на классы.. Я получил ответ от @Satpal .. спасибо всем

Ответ №1:

Затем вы должны clone() использовать этот replaceWith метод. Также вам необходимо использовать селектор классов

Используйте

 $(document).ready(function () {
    $(".exp1").replaceWith($(".exp2").clone());
});
  

Демонстрация на JsFiddle

Комментарии:

1. Вы прекрасно знаете, почему ответ был сначала отклонен. К сожалению, изменения ninja не оставляют следа в истории ответов, но ответ продолжал колебаться между использованием идентификаторов и классов.

2. @Juhana Но мне интересно, почему ребята отклонили первое сообщение, опубликованное пользователем balach ..? Это совершенно нормально.. Разве ..?

3. @RajaprabhuAravindasamy не может знать наверняка, но [0].outerHTML довольно схематично и не совсем то же самое, что .clone() .