如何使用jQuery或JS将类添加到SVG中最接近的前一个元素?

时间:2015-05-25 16:24:35

标签: javascript jquery svg

我有这种HTML:

<g>
    <path d="..." />
    <text class="abbr"></text>
</g>

和jQuery代码:

$("text.abbr").mouseover(function () {
    $(this).closest("path").prev().attr("class", "active");
});

我知道,SVG有很多限制。 请帮助我选择最接近的上一个元素path(如果我悬停元素text),使用jQuery或JavaScript将一个类添加到元素path

提前致谢!

2 个答案:

答案 0 :(得分:2)

.closest遍历树向上,即到达父级。你似乎只是想要以前的兄弟姐妹:

$(this).prev()
// or if you want to select the previous only if it is a path:
$(this).prev('path');

如果您要查找的元素不是直接兄弟,即中间还有其他元素,请使用标记名称而不是类来查看jquery find closest previous sibling with class

答案 1 :(得分:1)

使用cloeset的另一种方式

 $(this).closest("g").find('path').attr("class", "active");