删除现有的childNodes后,无法将childNode附加到div

时间:2016-02-17 20:54:42

标签: jquery-mobile appendchild removechild

我的问题是,在删除现有的超链接后,我无法将新的超链接附加到div中。

在这里,我检查div内是否有任何超链接,如果有,我将删除所有超链接。

var node = document.getElementById('nearByCitiesDiv');
        while (node.hasChildNodes()) {

            node.removeChild(node.lastChild);
        }

然后我创建了新的超链接,但它们不会显示在div中。 顺便说一句,我正在使用jquery移动面板。如果我不删除div的childNodes,下面的代码工作正常并在div中添加新的超链接。

var element = $('<a data-role="button" style="text-decoration:none;"  href="#/" onclick="showNearCityWeather(' + nearbyPosition.lat + ',' + nearbyPosition.lng + ')" data-theme="a">' + c.toponymName + '</a >');
 $("#nearByCitiesDiv").controlgroup("container")["append"](element);
$("#nearByCitiesDiv").controlgroup("refresh");
$('[data-role="button"]').button();

1 个答案:

答案 0 :(得分:1)

controlgroup容器实际上是一个子div。因此,当您删除子节点时,实际上是在移除容器。您可以这样清除容器:

$("#nearByCitiesDiv").controlgroup("container").empty()