我有一种情况,我想在其他地方调用相同的 svg 函数,所以我这样做:
function second() {
one();
}
但在函数 Second() 中我想更改函数 one() textContent。
function second() {
one();
document.querySelector("#textError").textContent = ("new text");
}
当我运行这个函数时,它可以工作,但前提是我首先加载函数 one() 来创建 svg。然后我可以调用函数 Second() 来更改文本。但我想先调用函数 Second() 。它给了我:
控制台错误:无法设置未定义或空引用的属性“textContent”
最佳答案
向函数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);
....................
....................
}
现在,将新文本作为参数从“第二个”函数发送到“一个”函数。
function second() {
one("new text");
}
编辑: 要从其他部分获取文本并传递,请按如下所示编写代码。
function second() {
var newText = this.getText();
one(newText); // one(this.getText());
}
关于javascript - 更改 SVG 的文本内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35309720/