我在使用此功能的firefox 3.6上有一个错误
function GetRefreshedResults(response)
{
var splitted = response.value.split("|");
var panel = document.getElementById('my-glider');
var anchors = panel.getElementsByTagName('a');
for (var i=0; i<anchors.length; i++)
{
anchors[i].innerHTML=splitted[i];
}
}
DOM锚点中的哪些广告如 “&lt; a xmlns =”http://www.w3.org/1999/xhtml“&gt;
我现在正试图改用它:
function GetRefreshedResults(response)
{
var splitted = response.value.split("|");
var panel = document.getElementById('my-glider');
var anchors = panel.getElementsByTagName('a');
for (var i=0; i<anchors.length; i++)
{
anchors[i].empty();
anchors[i].appendChild(splitted[i]);
// anchors[i].innerHTML=splitted[i];
}
}
但是我在appendChild中遇到以下错误:
Uncaught Error: NOT_FOUND_ERR: DOM Exception 8
我不明白为什么它不起作用。谁能帮我 ? 感谢
编辑: 例如:
splitted [0]包含:
"<div class="var">Visits</div><div class="percent-zero">0%</div><div class="val">0<div class="val-alt">Unique Visits: 0</div></div>"
我想用新内容更新8个锚点,包含在splitted [0],splitted [1] ... splitted [7]
中答案 0 :(得分:4)
splitted[i]
是问题所在。 appendChild
将DOM元素附加到现有的DOM元素,但看起来你试图追加一个字符串值。如果您想使用appendChild
,请创建一个容器元素并使用innerHTML
来插入字符串,或者只使用innerHTML
。我会说,不是一个错误,你无法将字符串附加为DOM元素。另请参阅appendChild上的MDN-page。
答案 1 :(得分:3)
response.value.split("|");
向我表明您正在将response
作为字符串传递。 appendChild仅适用于元素。你不能将孩子附加到扁平的绳子上。