【发布时间】:2024-01-06 11:20:01
【问题描述】:
HTML
<a href="#1" class="current">1</a>
<div id="xyz"></div>
JavaScript
function updateHash() {
var number = document.querySelectorAll('.current')[0].innerHTML;
document.querySelector('#xyz').innerHTML = '<a>'+ number + '</a>';
}
updateHash();
显然,这行得通。
但是,我需要 <a> 成为 <a href="#>
所以当我这样做时:
document.querySelector('#xyz').innerHTML = '<a href="#'+ number + '"</a>';
失败了。
我不知道这是否可以通过转义字符来解决;当我试图逃避 " & # 时,它没有用。
对于这种情况,也许没有办法逃脱角色。
任何帮助将不胜感激。
[更新]
我是这样解决的。
function updateHash() {
var number = document.querySelectorAll('.current')[0].innerHTML;
var tag = '<a href=#'
document.querySelector('#xyz').innerHTML = tag + number + '>next</a>';
}
updateHash();
其实,我在做和以前一样的事情。但正如所指出的,我没有看到任何输出,因为我的 href 是空的。哈哈
【问题讨论】:
标签: javascript hyperlink escaping innerhtml