Tôi đang cố gắng phát triển một bản đồ SVG tương tác và dường như không thể lấy Prototype để mở rộng các phần tử SVG nội dòng. Dưới đây là code ví dụ của tôi (loại bỏ dữ liệu đường dẫn vì nó rất lớn):Prototype có thể mở rộng các phần tử SVG không?
<svg id="map" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="330" height="500" viewBox="-16037,-19651 28871,44234">
<g id="state_outline">
<path id="state" fill="white" stroke-width="200" d="..." />
<path id="water" fill="#a0a0ff" d="..." />
</g>
<g id="counties">
<path class="county" id="adams" d="..." />
...
</g>
</svg>
<div id="nottamap"></div>
<script type="text/javascript">
console.log($('nottamap'));
console.log($('nottamap').identify());
console.log($('counties'));
console.log($('counties').identify());
</script>
Kết quả của việc chạy đó là:
<div id="nottamap">
nottamap
<g id="counties">
$("counties").identify is not a function
$() chỉ từ chối để mở rộng các yếu tố truyền cho nó nếu nó là một phần của phần tử SVG. Có điều gì đó về sự tương tác của Prototype với các phần tử XML mà tôi không hiểu, hay có cách nào tốt hơn cho tôi để đi về điều này?
Câu hỏi hấp dẫn. Tôi không biết các trình duyệt thực hiện các phần tử SVG như thế nào; chúng rõ ràng không phải là các nút DOM. – Pointy
JSFiddle Demo: http://jsfiddle.net/SMTsm/ –
(Bản trình diễn hơi khác: http://jsfiddle.net/SMTsm/2/) –