我需要用id =' water'来替换span。使用js中的replaceChild单击按钮时使用锚点。 fff()工作正常,ff()也是如此,直到我认为问题出现的最后两行。 (我无法弄清楚replaceChild的工作原理)。
function fff() {
var ss = document.createElement('span');
var text = document.createTextNode('https://www.google.com/');
ss.appendChild(text);
document.getElementById('water').appendChild(ss);
}
function ff() {
var s = document.createElement('a');
var t = document.createTextNode("https://www.google.com/");
s.appendChild(t);
s.href = "http://example.com";
var item = document.getElementById('water');
item.replaceChild(s, item);
}
<body onload="fff()">
<span id="water"></span> <br><br>
<button onclick="ff()">Replace with anchor</button>
</body>
时,我就明白了
答案 0 :(得分:0)
Element.replaceChild用于用另一个元素替换Element的子元素。由于您要替换span#water,您必须选择其父级(UNION ALL
)并调用replaceChild。您可以将最后一行ff更改为此
<body>