Estoy tratando de desarrollar un mapa SVG interactivo y parece que no se puede obtener Prototype para extender elementos SVG en línea. Aquí está mi código de ejemplo (datos de la trayectoria removidos porque es enorme):¿Puede Prototype extender elementos SVG?
<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>
El resultado de la ejecución es decir:
<div id="nottamap">
nottamap
<g id="counties">
$("counties").identify is not a function
$() es simplemente niegan a extender el elemento que se le pasa si es parte del elemento SVG. ¿Hay algo sobre la interacción de Prototype con elementos XML que no entiendo, o hay una mejor manera de hacerlo?
pregunta fascinante. No tengo idea de cómo los navegadores implementan elementos SVG; claramente no son nodos DOM. – Pointy
JSFiddle Demo: http://jsfiddle.net/SMTsm/ –
(Demostración ligeramente diferente: http://jsfiddle.net/SMTsm/2/) –