JQuery y SVG – cómo encontrar la ‘g’ de la etiqueta

Imagina esto:

<svg>
    <g id="node1" class="node"></g>
    <g id="node2" class="node"></g>
</svg>

¿Cómo puedo encontrar la ‘g’ de la etiqueta, quiero que todas las etiquetas podrían ser pulsado, y no sólo de ‘el nodo 1’ o ‘el nodo2’. He intentado simular a esto, pero no podía conseguir trabajo.

$('g').click(function(){
    alert("Hellooooo");
});
Incapaz de replicar. $('g').click() funciona bien. jsfiddle.net/ZLnJw
Hmm, que raro. Yo lo he probado de nuevo y funciona para mí.

OriginalEl autor Kungen | 2013-06-11

2 respuestas

  1. 10

    Uso de método find() para obtener más información, visite este

    Por ejemplo $("body").find("p").css("background-color","#f00"); conjuntos de todo el cuerpo del <p> elemento de color de fondo rojo.

    Para su pregunta, intente esto:

    $("svg").find("g").click(function(){
    
    //your jquery code here
    
    }
    );
    Muchas gracias! Se los agradezco.
    Este… es un tonto respuesta. $('svg').find('g') es exactamente el mismo que $('g') pero con un extra innecesario de la llamada al método. Igualmente puedes usar $('p').css({...});. No hay necesidad de find() aquí a todos.
    ¿qué pasaría si dentro de otras etiquetas es también “g”, entonces él tiene que encontrar dentro de “svg”.
    g sólo es válido SVG etiqueta. A menos que el desarrollo de una sombra DOM sitio (lo cual es raro en su estado actual), g siempre será el hijo de svg.
    Para planas <svg> docs, uso $('g'), pero cuando se trata con anidada <svg> dentro <svg>, yo uso la $('svg')[0].find('g') para navegar por el árbol DOM.

    OriginalEl autor Bhojendra Rauniyar

  2. 1

    Gracias a C-Link he resuelto esto.

    Para asegurarse de que sólo los nodos son accesibles he wroted:

    $("svg").find("g.node").click(function(){
        alert("Lolol");
    });

    Y funciona bien.

    Hmm, ¿por qué -1 sobre esto?
    +1. No se merece una downvote como es bueno saber el camino largo y corto camino. Como se explicó anteriormente, en algunos casos, usted tendría la larga método.

    OriginalEl autor Kungen

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *