我在div中有一个span,每次调用load函数时我都想替换其中的超链接。目前,我的代码不断添加超链接。有没有一种方法可以在每次调用函数时用新的超链接替换超链接?提前谢谢。
注意:我不想清空div。我只想清除跨度并插入一个新的超链接
function load(Url,myImage) {
var link = document.createElement('a');
link.textContent = 'Link';
link.href = Url;
document.getElementById('where_to_insert').appendChild(link);
}
和保存跨度的div:
<div class="top">
....
....
<span id="where_to_insert"></span>
</div>
var link = '<a href="' + Url + '">Link</a>';
document.getElementById('where_to_insert').innerHTML = link;
Top方法是正确的,但它在IE中不起作用。如果需要,必须单独创建<a>
元素。
因此,大多数跨浏览器代码都会喜欢这样:)
var link = document.createElement('a');
link.href = Url;
link.innerHtml = '
document.getElementById('where_to_insert').innerHTML = link;
每次调用load
时,是否真的需要创建锚标记
如果没有,那么你可以使用以下
HTML
<div class="top">
<span id="where_to_insert">
Anchor here
<a href="" id='somAnc'></a>
</span>
</div>
JS-
function load(Url,myImage) {
document.getElementById('somAnc').href=Url;
}
load('google.com');
setTimeout(function(){ // Just for testing href will be update after 5sec
load('mozilla.com')
},5000)
此处演示