ユーザーがHTMLテンプレートのナビゲーションまたはメニューを作成できるHTML構造があります。ユーザーはドラッグアンドドロップでメニューとサブメニューを作成できます。[更新]をクリックすると、変更が加えられたメニューが更新されます。これは動的に構築され、停止したhtmlは以下のとおりです
<ol class="sortable ui-sortable" id="addMenu">
<li>
<div class="droppable ui-droppable">
<a href="javascript:void(0);">Menu1</a>
</div>
<ol>
<li style="display: list-item;">
<div class="droppable ui-droppable">
<a href="javascript:void(0);">Menu2</a>
</div>
</li>
</ol>
</li>
<li>
<div class="droppable ui-droppable">
<a href="javascript:void(0);">Menu3</a>
</div>
</li>
私たちが達成したいのは、ユーザーがメニューの作成またはメニューの更新を言ったときに、構造の残りの部分をそのままにして、構造内のすべての場所からdiv
withを削除する必要があるということです。class=droppable
.unwrap()
and関数を使用して試しましたreplaceWith()
が、期待どおりに機能しないようです。
var menuHtml = $('#addMenu').html();
menuHtml = '<ol id="toRmv">'+menuHtml+'</ol>';
$('#'+IdParent+' .navigationInner').html(menuHtml);
var newHtml = $('#'+IdParent+' .navigationInner').html();
$menuHtml = $("#toRmv div.droppable > a").unwrap();
$('#'+IdParent+' .navigationInner').html($menuHtml);
どうすればそれを達成できますか?