我有一个功能,可以在您单击图标时从其中删除li
元素。ol
当ol
完全清空时,我想用一些填充材料替换 ,以便用户仍然可以将新元素li
拖放到列表中。li
(这是一种购物车设置。)
我遇到的问题是,当我使用 jQuery 时.remove()
,li
它已从 DOM 中删除,但 jQuery 并没有消失。因此,例如,.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>
点击处理程序是上面的代码。