如何在加载时清除div元素

时间:2012-08-10 05:19:10

标签: javascript html

我想在功能区上添加超链接。我能够将超链接添加到现有div。由于我的每一个动作都会刷新功能区,因此超链接会逐渐增加。

如何清除div并只提供一个链接。

我使用以下代码:

var mydiv = document.getElementById("myDiv");
var aTag = document.createElement('a'); 
aTag.setAttribute('href',"yourlink.htm");  
aTag.innerHTML = "link text";
mydiv.appendChild(aTag); 

6 个答案:

答案 0 :(得分:2)

jQuery具有empty()功能。如果您只是使用纯JS,则可以在添加mydiv.innerhtml = ""标记之前添加行<a>

答案 1 :(得分:1)

这可能适合你:

var mydiv = document.getElementById("myDiv");
var aTag = document.createElement('a'); 
aTag.setAttribute('href',"yourlink.htm");  
aTag.innerHTML = "link text";
mydiv.innerHTML="";
mydiv.innerHTML=aTag; 

答案 2 :(得分:0)

假设功能区“myDiv”

mydiv.innerHTML = ""

mydiv.appendChild(aTag);

答案 3 :(得分:0)

var mydiv = document.getElementById("myDiv");
var aTag = document.createElement('a');

aTag.setAttribute('href',"yourlink.htm");
aTag.innerHTML = "link text";

if( mydiv.firstChild ){
  mydiv.replaceChild(aTag, mydiv.firstChild);
}else{
  mydiv.appendChild(aTag);
}

答案 4 :(得分:0)

此方法不仅删除子(和其他后代)元素,还删除匹配元素集中的任何文本。这是因为,根据DOM规范,元素中的任何文本字符串都被视为该元素的子节点。请考虑以下HTML:

<div class="container">
  <div class="hello">Hello</div>
  <div class="goodbye">Goodbye</div>
</div>

我们可以定位任何要删除的元素:

$('.hello').empty();

这将导致删除了Hello文本的DOM结构:

<div class="container">
  <div class="hello"></div>
  <div class="goodbye">Goodbye</div>
</div>

答案 5 :(得分:0)

试试这个

var aTag = "<a href='yourlink.htm' > </a>";
document.getElementById("myDiv").innerHtml = aTag ;