Estoy tratando de trabajar con Jquery y Svg juntos. Pero no quiero usar ningún complemento.¿Es posible trabajar con jquery y Svg directamente (sin complementos)?
El problema que estoy tratando ahora es que cuando trato de trabajar usando el modo tradicional de agregar para agregar un elemento secundario al documento svg, el objeto no se representa. Veamos lo que traté de hacer:
/* Creating the svg container using pure JS */
var container = document.getElementById("svg_space");
mySvg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
mySvg.setAttribute("version", "1.2");
mySvg.setAttribute("baseProfile", "tiny");
container.appendChild(mySvg);
/* Adding a child and setting attributes to the SVG container using pure JS */
Circle = document.createElementNS("http://www.w3.org/2000/svg", "circle");
Circle.setAttribute("cx", "60");
Circle.setAttribute("cy", "30");
Circle.setAttribute("r", "13");
Circle.setAttribute("class", "class1");
mySvg.appendChild(Circle); /* After this, the circle is rendered */
/* Then, I tried to use jQuery to perform the same action... */
$(mySvg).append("<circle />");
$(mySvg).find("circle").attr("cx","160");
$(mySvg).find("circle").attr("cy","70");
$(mySvg).find("circle").attr("r","30");
$(mySvg).find("circle").attr("class","class1");
... pero después de esta acción, el círculo no se procesa. Compruebo si al menos el círculo realmente se agregó al árbol DOM en el Inspector de herramientas de desarrolladores, y descubrí que ambos elementos existen, con los atributos correctos previamente establecidos, pero el círculo creado con jQuery era como si fuera un descendiente html , no como un descendiente svg. Esto significa que los constructores, prototipos y otros métodos relacionados con un elemento del círculo svg no formaban parte del círculo 'jquery', sino que estaban relacionados con una etiqueta html pura.
¿Hay alguna manera de crear elementos svg como svg descenddants utilizando jquery, o es mejor el uso de javascript puro a pesar de la pérdida de productividad?
_> Estoy tratando de trabajar con Jquery y Svg juntos. Pero no quiero usar ningún plugin. - ¿Podría describir por qué? Los complementos y bibliotecas existentes tienen buena documentación, ejemplos, estructura ... Eche un vistazo a http://keith-wood.name/svg.html por ejemplo. – silex
¿Sabía que '.attr()' puede tomar un objeto JavaScript con pares clave-valor? P.ej. usted podría simplemente hacer '$ (mySvg) .find (" círculo "). attr ({cx: 160, cy: 70, r: 30," clase ":" clase1 "});' – Domenic
¿Está utilizando IE <9 ? –