Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Angular指令中附加D3元素_Javascript_Jquery_Css_Angularjs_D3.js - Fatal编程技术网

Javascript 在Angular指令中附加D3元素

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); }) 但它不起作用。有人能给我指一下正

我是d3.js的新手,我想把这个代码转换成一个角度指令。我面临的一个问题是,在angular指令中,我只能访问一个“元素”。我不知道如何在我的代码中添加div#textbox图例

我试过:

// 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代码应该是这样的。将所有内容放入指令模板中