アイコンをクリックするとli
要素を削除する機能があります。ol
が完全に空になったら、ユーザーが新しい要素をリストにドラッグ アンド ドロップできるように、 を少しオフのフィラー マテリアルol
に置き換えたいと思います。(ショッピングカートの設定のようなものです。)li
li
私が直面している問題は、jQuery を使用すると DOM から削除されますが、jQuery.remove()
はli
削除されないということです。したがって、たとえば、呼び出し.has(".li")
はすべての li がなくなった場合でも true を返し、呼び出しはにこれまでに存在したことchildNodes.length
のあるの総数を返します。コードは次のとおりです。li
ol
function onClick(element)
var parent = $(element).parent().attr('id');
$(element).remove();
var container = document.getElementById(parent);
console.log(container.childNodes.length); //always logs the total number that have ever existed
if(container.childNodes.length < 1){
parent.append("<li class='placeholder'>Drag and Drop Components Here</li>");
要素が DOM から削除された後にのみ親コンテナーを取得するように注意したため、これは問題ではないと確信しています。
何か案は?
編集: 要求さul
れたli
構造:
<h4>Components</h4>
<ol id="components" class="droppable">
<li class="placeholder">Drag and Drop Components Here</li>
</ol>
ユーザーは、次のコードをリストにドラッグ アンド ドロップします。これは$.get
、一部の php スクリプトから取得されます。
<li id="$id"><table style="color:white"><tr><td>$this->longname</td>
<td><a href="#$id" onclick="destrComp(this);" title="Delete this image" class="ui-icon ui-icon-circle-close">Delete image</a></div></td></tr></table></li>
クリック ハンドラーは上記のコードです。