Javascript 在Angular指令中附加D3元素
我是d3.js的新手,我想把这个代码转换成一个角度指令。我面临的一个问题是,在angular指令中,我只能访问一个“元素”。我不知道如何在我的代码中添加div#textbox图例 我试过:Javascript 在Angular指令中附加D3元素,javascript,jquery,css,angularjs,d3.js,Javascript,Jquery,Css,Angularjs,D3.js,我是d3.js的新手,我想把这个代码转换成一个角度指令。我面临的一个问题是,在angular指令中,我只能访问一个“元素”。我不知道如何在我的代码中添加div#textbox图例 我试过: // Shove the text into the div with ID #textbox svg.append('div') .attr('id','textbox') .select("#textbox") .text(string); }) 但它不起作用。有人能给我指一下正
// Shove the text into the div with ID #textbox
svg.append('div')
.attr('id','textbox')
.select("#textbox")
.text(string);
})
但它不起作用。有人能给我指一下正确的方向吗?谢谢大家! 这是原始代码中的内容
.on("mouseover", function(d) {
//some code
// Shove the text into the div with ID #textbox
d3.select("#textbox")
.html("")
.append("text")
.html(string);
})
这意味着您只需要一个id为的空div,然后将html插入其中。
我不知道你为什么要先附加#文本框,然后再插入html。
只要在你的指令里写上这句话就行了。这样你就可以用d3独立选择了,我意识到这个问题有多傻。我所需要的只是通过执行以下操作向元素追加一个新div:
d3.select(element[0]).append("div").attr("id","textbox");
您正在使用,这意味着当您调用
.select(“#textbox”)
时,它正在您附加的div
中搜索id为textbox
的元素,因为您将它与返回div的方法链接在一起。要么完全删除select行,要么将其更改为svg.select(“#textbox”)…
我的目标是创建一个角度指令来包装地图和图例(文本框)。最后,html代码应该是这样的。将所有内容放入指令模板中