2016-07-27 103 views
0

我正在使用d3编写一个图表函数。但它不起作用。 请帮助任何一个。d3.js函数不能使用div ID

<script> 

    var chart=function(a){ 
     var w=960,h=500; 
     var svg=d3.select('#a') 
      .append("svg") 
      .attr("width",w).attr("height",h); 

     svg 
      .append("text") 
      .text("hello world").attr("x",100).attr("y",100); 
    } 
    chart(context); 

    </script> 

div标签ID是 '语境'()。

回答

0

现在,您通过"#a"作为字符串。你必须连接字符串"#"与你的论点。

例如,看看这个片断:

var foo = "bar"; 
 

 
console.log("#foo"); 
 
console.log("#" + foo);

第一的console.log给你"#foo",因为它只是一个字符串。第二个给你的值为foo

所以,你的代码应该是:

<script> 

var chart=function(a){ 
    var w=960,h=500; 
    var svg=d3.select('#' + a) 
     .append("svg") 
     .attr("width",w).attr("height",h); 

    svg 
     .append("text") 
     .text("hello world").attr("x",100).attr("y",100); 
} 
chart(context); 

</script>