2016-03-14 2 views
-1

У меня есть этот HTML структуру:Как заменить элемент на другой?

<div>something</div> 
<p>this is a paragraph</p> 

Теперь я хочу заменить, что <p> с <span>. Что-то вроде этого;

<div>something</div> 
<span>this is a span</span> 

Я хочу что-то вроде этого:

$("div").siblings("p"). /* replace with "<span>this is a span</span>" */ 

Примечание: Существует не обертку вокруг этого <p>. So I не может использование .html().


Ну, это возможно?

ответ

1

Учитывая данный HTML, вы можете сделать это следующим образом:

1

Метод JQuery .replaceWith() удаляет содержимое из DOM и вставляет новый контент на своем месте с помощью одного вызова. Рассмотрим DOM структуру:

<div class="container"> 
    <div class="inner first">Hello</div> 
    <div class="inner second">And</div> 
    <div class="inner third">Goodbye</div> 
</div> 

Второй внутренний <div> может быть заменен на указанный HTML:

$("div.second").replaceWith("<h2>New heading</h2>"); 

Это приводит к структуре:

<div class="container"> 
    <div class="inner first">Hello</div> 
    <h2>New heading</h2> 
    <div class="inner third">Goodbye</div> 
</div> 

См http://api.jquery.com/replacewith/

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