2014-05-08 43 views
2

我只是从d3开始,而不是通常的jQuery,但即使他们的基本示例似乎实际上并没有附加任何东西。没有被添加到我的任何部分标签:d3基本附加示例不工作

<!doctype html> 

<html lang="en"> 
<head> 
    <meta charset="utf-8"> 

    <title>Test</title> 
    <meta name="description" content="stats"> 
</head> 

<body> 
    <script type="text/javascript"src="js/d3.min.js"></script> 
    <script type='text/javascript'> 
var section = d3.selectAll("section"); 

section.append("div") 
    .html("First!"); 

section.append("div") 
    .html("Second."); 
    </script> 
<section>asfd</section> 
<section>erasdf</section> 
<section>asdfq</section> 
<section>asdfasdfas</section> 
<p>Hi</p> 
<p>Hi</p> 
<p>Hi</p> 
</body> 
</html> 
+1

请尝试移动D3代码的底部,看来你是想选择一个部分,它实际上在DOM – Josh

+1

快速小提琴放在一起存在前... [作品] (http://jsfiddle.net/G8jja/)... – FernOfTheAndes

+0

感谢乔希,但d3被定义。我查看了控制台,并在输入d3时获得方法提示。 – user3618110

回答

2

为什么您的追加不工作的原因是因为你已经添加的脚本首先,你的<section>后来。自script标签是第一,剧本将首先执行,当执行selectAll("section")时,它会搜索要追加的节标记,但它不存在,因为节标记位于脚本之后。为了使其正常工作,将脚本移动到底部

HTML:

<!doctype html>  
<html lang="en"> 
<head> 
    <meta charset="utf-8">  
    <title>Test</title> 
    <meta name="description" content="stats"> 
</head> 

<body> 

<section>asfd</section> 
<section>erasdf</section> 
<section>asdfq</section> 
<section>asdfasdfas</section> 
<p>Hi</p> 
<p>Hi</p> 
<p>Hi</p> 

<script type="text/javascript"src="js/d3.min.js"></script> 
<script type='text/javascript'> 
var section = d3.selectAll("section"); 

section.append("div") 
    .html("First!"); 

section.append("div") 
    .html("Second."); 
    </script> 
</body> 
</html>