更改SVG的textContent

时间:2016-02-10 08:04:21

标签: javascript jquery function object svg

我有一种情况,我想在其他地方调用相同的svg函数,所以我这样做:

function second() {
    one();
}

但是在函数second()中我想改变函数one()textContent。

function second() {
    one();
    document.querySelector("#textError").textContent = ("new text");
}

当我运行此函数时它可以工作,但只有当我首先加载函数one()来创建svg时。然后我可以调用函数second()来更改文本。但我想先调用函数second()。它给了我:

控制台错误:无法设置未定义或空引用的属性“textContent”

1 个答案:

答案 0 :(得分:2)

为函数one添加参数。

function one(textContent){ 
    ....................
    ....................    
    var t = document.createElementNS('http://www.w3.org/2000/svg','text');
    t.setAttribute("id", "textError");
    t.textContent = textContent?textContent:"hello";
    svgError.appendChild(t);
    ....................
    ....................
}

现在,将新文本作为参数从' second`函数发送到one函数。

function second() {
    one("new text");
}

修改 要从其他部分获取文本并通过,代码如下所示。

function second() {
    var newText = this.getText();
    one(newText); // one(this.getText());
}