为什么会出错?

时间:2016-10-12 06:38:22

标签: javascript html dom getelementbyid

这是我的JavaScript

document.getElementById('testButton').onclick = function(){
  var tableResult = makeHTMLMatchesTable(fetchMatches());
  var matches = document.getElementById('matches')
  matches.parentNode.insertBefore(matches, tableResult);
}

我正在尝试使用此函数插入​​一些HTML但我收到错误:NotFoundError: Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.

我真的不明白这个错误,我尝试过不同的论点,但它仍然在抱怨孩子。任何想法?

1 个答案:

答案 0 :(得分:0)

你已经得到了.insertBefore()参数的顺序。它应该是:

parentNode.insertBefore(newNode, referenceNode);

因此,在您的具体情况下,如果您尝试在tableResult之前插入matches,请将其更改为:

matches.parentNode.insertBefore(tableResult, matches);