chrome扩展插入文本问题

时间:2014-02-23 20:34:38

标签: javascript google-chrome-extension

http://www.w3schools.com/js/js_statements.asp

我写了一个chrome扩展来改变intro类的内容,但它没有工作? 我创建了一个分区并在介绍类之前插入它 代码写在content.js

var div=document.createElement("div");
div.innerText='test123';
document.getElementsByClassName("intro").insertBefore(div,document.getElementsByClassName("intro")childNodes[0]);

1 个答案:

答案 0 :(得分:0)

getElementsByClassName返回NodeList。因此,它没有像insertBefore这样的方法。

如果要在类intro的所有元素中插入div,可以通过循环完成此操作:

var elements = document.getElementsByClassName("intro");
for(var i = 0; i < elements.length; i++){
    var div = document.createElement("div");
    div.innerText = 'test123';
    elements[i].insertBefore(div, elements[i].childNodes[0]);
}

或者,如果只有一个元素,您可以这样做:

var div = document.createElement("div");
div.innerText = 'test123';
document.getElementsByClassName("intro")[0].insertBefore(div, document.getElementsByClassName("intro")[0].childNodes[0]);