我有两个嵌套的<svg>
元素,如下所示:
<svg id="main_svg">
<svg data="business" id="something">
<rect>
// Code for rectangle
</rect>
</svg>
</svg>
如何在<svg>
内获取main_svg
标记的ID?
我使用contextmenu
尝试了this.id
事件处理程序,但它始终返回main_svg
:
$("svg").contextmenu(function(e) {
e.preventDefault();
console.log(this.id);
});
如何做到这一点?还有更好的方法吗?我对以下任何一项活动感到满意:onclick
或contextmenu
。
答案 0 :(得分:2)
您可以使用jQuery函数$('svg').find("> svg")
查找<svg>
元素的每个直接子元素<svg>
- 元素。
$('svg').find("> svg").each(function() {
var id = $(this).attr("id");
console.log(id);
});
请参阅jsFiddle:https://jsfiddle.net/kyjn6z87/