我在网站上用线条和文字绘制图形。我使用的是snap.svg和JQuery。
s是绘图表面,一个id为“ g54”的组。
for (;;) {
scanf("%20s", stringBuffer);
scanf("%d ", &num1);
scanf("%d ", &num2);
if (strcmp(stringBuffer, "add") == 0) {
printf("%d + %d = %d", num1, num2, (num1 + num2));
}
else if (strcmp(stringBuffer, "sub") == 0) {
printf("%d - %d = %d", num1, num2, (num1 - num2));
}
else if (strcmp(stringBuffer, "mul") == 0) {
printf("%d * %d = %d", num1, num2, (num1 * num2));
}
else if (strcmp(stringBuffer, "div") == 0) {
printf("%d / %d = %d", num1, num2, (num1 / num2));
}
else if (strcmp(stringBuffer, "help") == 0) {
printf("input: operation n1 n2\n");
printf("output: operation(n1, n2)\n");
printf("implemented operations: 'add', 'sub', 'mul', and 'div'\n");
}
else if (strcmp(stringBuffer, "quit") == 0) {
return 0;
} else {
printf("Please try again.\n");
}
}
我想更改文本,我尝试了几种方法。 我可以更改文本的位置,颜色,但不能更改文本本身。
g.add(s.text(120, 120, "outside").attr({ "font-size": "15px" }));
答案 0 :(得分:0)
在Snap中,text属性应该起作用。
var t = s.text(120, 120, "outside").attr({ "font-size": "15px" })
g.add(t)
t.attr("text","changed")
您可以使用Snap()方法引用Snap中现有的SVG元素。例如
Snap("#textelement").attr("text","changed")
所以您也可以尝试
Snap("#g54 text").attr("text","changed")
我不确定jquery是否可以与svg配合使用,因此最好直接使用Snap。
答案 1 :(得分:0)
毕竟,Snap选择器对大多数文本项都执行了此操作,但对某些文本项却没有(我看不到原因)。因此,我再次使用JQuery尝试了以下操作。
JQuery("#g54").children().text("this is my text");