我有这种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
。
提前致谢!
答案 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");