2013-03-26 13 views
5

Vì vậy, tôi chỉ mới bắt đầu d3.js và tôi tiếp tục gặp phải lỗi JavaScript và tôi không biết tại sao. Tôi vừa tạo ba vòng tròn với svg và muốn chọn chúng với d3. Đây là mã của tôi:gặp sự cố khi giới thiệu về d3.js

<!DOCTYPE HTML> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <script src="http://d3js.org/d3.v3.min.js"></script> 
    <script type="text/javascript"></script>   
</head> 
<body> 
    <svg width="360" height="180"> 
     <circle class="little" cx="180" cy="45" r="12"></circle> 
     <circle class="little" cx="60" cy="90" r="12"></circle> 
     <circle class="little" cx="300" cy="135" r="12"></circle> 
    </svg> 
    <script type="text/javascript"> 
     var circle = svg.selectAll("circle"); 
    </script> 
</body> 
</html> 

Điều này có nghĩa vụ phải chọn vòng kết nối trên trang để tôi có thể thao tác nhưng tôi vẫn gặp lỗi tham chiếu trong Bảng điều khiển Web cho biết svg không được xác định? Nhưng hướng dẫn giới thiệu không nói bất cứ điều gì về việc xác định svg?

+0

Bạn đang làm theo hướng dẫn nào? –

+0

Điều này: http://mbostock.github.com/d3/tutorial/circle.html – AzzyDude

+0

Vâng, anh ấy thực sự không đề cập đến nó, ít nhất là không rõ ràng, ngay cả trong [giới thiệu] (http: // d3js .org /). Những gì tôi thấy hữu ích trong những tình huống này là xem xét nguồn trang và kiểm tra mã thực tế. –

Trả lời

8

Bạn cần chọn phần tử svg trước khi sử dụng svg.selectAll.

var svg = d3.select(document.getElementById('sampleSVGId')), 
    circle = svg.selectAll('circle'); 
+2

Tôi ước rằng họ có thể chỉ định rằng trong hướng dẫn: ( – AzzyDude

+0

Bạn có thể liên kết đến hướng dẫn này không?) Các đối tượng nói chung sẽ không được tạo ra một cách kỳ diệu cho bạn trừ khi được chỉ định – Vinay

+0

Nhưng tôi hiểu nỗi đau của bạn. bắt đầu ở một khu vực và tài liệu không rõ ràng/thân thiện với người mới bắt đầu – Vinay