javascript - 更改 SVG 的文本内容

标签 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”

最佳答案

向函数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/

相关文章:

javascript - css 属性下的自定义值 - CSS

javascript - LARAVEL 5.8 : Window onscroll, 滚动在 Blade 模板中不起作用

javascript - 在单击或触摸时暂停事件,然后在 jQuery 中完成一些工作后 "restart"状态事件?

javascript - 单个文本区域中的按钮值

python - 评论 : Built-In Functions

javascript - 动态添加带有动画的 gif 图像

javascript - 使用jquery打开弹出窗口时如何避免刷新页面或后退按钮点击?

javascript - 如何从小数点后只有零的字符串生成 float

c++ - 与 C++ 中的 virtual 关键字混淆

c - 在函数调用中向枚举添加 uint 的风险