如何替换<span内的超链接?



我在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)

此处演示

最新更新