Javascript 如何使用SVG文本元素进行换行?

Javascript 如何使用SVG文本元素进行换行?,javascript,svg,d3.js,Javascript,Svg,D3.js,使用D3创建力图。我想点击一个按钮,就会出现一个矩形(我已经这样做了)。 现在我想在这个矩形文本后面加上几行文本 我有三句话想讲,每行一句,所以我知道分线应该在哪里 我试过这些: .text("test" + "\n" + "should be on second line"); .text("test" + "\\n" + "should be on second line"); .text("test" + "<br/>" + "should be on second lin

使用D3创建力图。我想点击一个按钮,就会出现一个矩形(我已经这样做了)。 现在我想在这个矩形文本后面加上几行文本

我有三句话想讲,每行一句,所以我知道分线应该在哪里

我试过这些:

.text("test" + "\n" + "should be on second line");

.text("test" + "\\n" + "should be on second line");

.text("test" + "<br/>" + "should be on second line");

.html("test" + "\n" + "should be on second line");

.html("test" + "\\n" + "should be on second line");

.html("test" + "<br/>" + "should be on second line");
.text(“测试”+“\n”+”应该在第二行”);
.text(“测试“+”\\n“+”应在第二行”);
.text(“测试“+”
“+”应位于第二行”); .html(“test“+”\n“+”应位于第二行”); .html(“测试“+”\\n“+”应在第二行”); .html(“test“+”
“+”应该在第二行”);

它们似乎都不起作用,我不知道为什么。我四处搜索过,人们都在做黑客来绕开这件事。当然有更简单的方法吗

我已经找到了答案,并且在使用D3时对我有效。我创建了一个数组(我希望显示的文本),然后创建了一个函数,将数组拆分成不同的行

var popUpTextArray = ["first line", "second line", "third line"];

function textMultipleRows(textArray, area, xPos, yPos){

    for(i=0;i<textArray.length;i++){
        d3.selectAll(area) //-area you wish to append the text to
        .append("text")
        .classed("popUpTextLeft", true) //-CSS class for the text
        .attr("x", xPos)
        .attr("y", yPos+(i*20)) //-new line when going through the loop
        .text(textArray[i]); //-goes through each element in the text array
    }   
}

textMultipleRows(popUpTextArray, "#window1", 300,200);
var-popUpTextArray=[“第一行”、“第二行”、“第三行”];
函数textMultipleRows(textArray、area、xPos、yPos){

对于(i=0;是吗?是的@NitishKumar,但这并不重要。我只想在svg:rect上编辑文本,使文本在多行上。为什么这个标签上的问题永远不会被关闭,这已经被问了很多次了…@马克,我想看看是否有更简单的方法,因为我找不到。但最终还是被破解了一点,因为我没有找到这不是一个简单的方法。