0

我想在一个外部 javascript 文件中创建一个函数,以后可以重用(即一个模块化函数,它足够通用,可以在任何需要它的 javascript 中使用)。我想用纯 JavaScript 来做这件事,而不是使用 jQuery 或 innerHTML。

我希望这个模块化函数执行以下操作:1)删除一个孩子的元素 2)用新的孩子值替换这个孩子

例如说你有这个代码:

<p id="removeMe">This text needs to be removed</p>
<p id="nextPara">This is the paragraph that follows the replaced paragraph</p>

所以我需要:

  1) parentNode.removeChild(removeMe);
  2) var replacementParagraph = document.createElement('p');
  3) var replacementParagraphText =document.createTextNode("This is the replacementParagraph text);
  4) replacementParagraph.appendChild(replacementParagraphText);

现在我只需要弄清楚如何编写如下所示的模块化函数:

function removeReplace (parameter, parameter) {
   1) remove the child of the paragraph with the id of "removeMe"
   2) use insertBefore(newText, nextPara) to replace the child that was removed in step 1
}

非常感谢你的帮助,杰森

4

1 回答 1

2

哦,这要容易得多,因为这个函数已经原生存在:.replaceChild(). 实际上你已经有了算法,你只需要用 javascript 编写它:

function replaceElementByParagraph(id, text) {
    var toremove = document.getElementById(id);
    if (!toremove) // in case no element was found:
        return false; // abort
    var para = document.createElement('p');
    para.appendChild(document.createTextNode(text));
    return toremove.parentNode.replaceChild(para, toremove);
}
于 2012-10-15T04:34:20.243 回答