JQuery和SVG - 如何找到'g'标签

Kun*_*gen 7 jquery svg jquery-svg

想象一下:

<svg>
    <g id="node1" class="node"></g>
    <g id="node2" class="node"></g>
</svg>
Run Code Online (Sandbox Code Playgroud)

如何找到'g'标签,我希望可以点击所有标签,而不仅仅是'node1'或'node2'.我已经尝试过类似于此,但无法使其正常工作.

$('g').click(function(){
    alert("Hellooooo");
});
Run Code Online (Sandbox Code Playgroud)

Bho*_*yar 10

使用find()方法获取更多信息,请访问此页面

例如,$("body").find("p").css("background-color","#f00");将所有身体的<p>元素背景颜色设置为红色.

对于你的问题,试试这个:

$("svg").find("g").click(function(){

// your jquery code here

}
);
Run Code Online (Sandbox Code Playgroud)

  • 这......是一个愚蠢的答案.`$('svg').find('g')`与`$('g')`完全相同,但有一个额外的不必要的方法调用.同样,你可以使用`$('p').css({...});`.这里根本不需要`find()`. (6认同)
  • @ C-Link`g`只是一个有效的SVG标签.除非开发一个影子DOM站点(在当前状态下不太可能),否则`g`将永远是`svg`的孩子. (2认同)