2016-02-17 104 views
0

我的问题是,我不能追加一个新的超链接到一个div后删除现有的。删除现有的孩子节点后无法追加一个孩子节点到一个div

这里我检查div里面是否有超链接,如果有,我将它们全部删除。

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

      node.removeChild(node.lastChild); 
     } 

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

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

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

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