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>';
失败了。
我不知道这是否可以通过逃避角色来解决;当我试图逃跑时#34; &安培; #,它没有用。
也许没有办法摆脱这种情况的角色。
非常感谢任何帮助。
[更新]
我这样解决了。
function updateHash() {
var number = document.querySelectorAll('.current')[0].innerHTML;
var tag = '<a href=#'
document.querySelector('#xyz').innerHTML = tag + number + '>next</a>';
}
updateHash();
实际上,我做的和以前一样。但正如所指出的那样,我没有看到任何输出,因为我的href是空的。 LOL
答案 0 :(得分:1)
a
代码<a></a>
innerHTML
标记的a
也是空的。所以不可见,但它位于body
您的错误。请检查outerHTML
function updateHash(){
var number = document.querySelectorAll('.current')[0].innerHTML;
document.querySelector('#xyz').innerHTML = '<a href="#'+ number + '"</a>';
console.log(document.querySelector('#xyz').outerHTML)
}
updateHash();
<a href="#1" class="current">1</a>
<div id="xyz"></div>
<强>解决强>
function updateHash(){
var number = document.querySelectorAll('.current')[0].innerHTML;
document.querySelector('#xyz').innerHTML = '<a href="#'+ number + '">innerhtml is empty</a>';
console.log(document.querySelector('#xyz').outerHTML)
}
updateHash();
<a href="#1" class="current">1</a>
<div id="xyz"></div>
答案 1 :(得分:0)
使用jQuery路由,您始终可以调用parent()
来获取HTML(假设父级中没有其他兄弟姐妹:
$('#xyz').html( $('.current').parent().html() )