附加html复选框和带有外来对象的文本。
.attr("id",function(d){return d.id;})
.append("foreignObject")
.attr("width", 200)
.attr("height", 200)
.attr("x",0)
.attr("y",0)
.append("xhtml:body")
.html("<form><input type=checkbox id=check class=tick/></form>")
上面的代码有效,但是如果我尝试将span / label与复选框一起放置,那么它也可以工作,但仅限于纯文本值。我想从下面的数据中动态地做标签
html("<form><input type=checkbox id=check class=tick/><span>"+function(d){return d.name;}+"</span></form>")
但它不评估函数并输出文本“function(d){return d.name;}”作为标签。我在这做错了什么?
答案 0 :(得分:2)
您需要传递html()函数或字符串,而不是与函数连接的字符串。这应该有效:
.html(function(d) {return "<form><input type=checkbox id=check class=tick/><span>" + d.name + "</span></form>";})