我正在使用 SVG 创建一个家谱,下面给出了一个小结构。我需要帮助在将鼠标悬停在类 - “节点”上时添加特定类(比如“选定”),在“g”的每个第一个“矩形”上,这是当前悬停的“节点”的父级。
$this.addClass('classname') 不起作用。所以我使用 $this.attr('class','classname')
无能为力:我需要一个像父母这样的函数(在 jQuery 中)或类似的方法来获取当前悬停的“rect”的所有父“g”。
当前工作 -点击这里
样本结构。
<svg style="width:100%;height:455px" id="svg_root" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<g id="viewport" >
<g id="1">
<rect class="node" y="0" x="0" width="160" height="35" />
<text class="prof_name" y="14" x="34">Name</text>
<g id="2">
<rect class="node" y="40" x="30" width="160" height="35" />
<text class="prof_name" y="54" x="64">Name</text>
<g id="7">
<rect class="node" y="80" x="90" width="160" height="35" />
<text class="prof_name" y="94" x="94">Name</text>
</g>
</g>
</g>
<g id="18">
<rect class="node" y="120" x="0" width="160" height="35" />
<text class="prof_name" y="134" x="34">Name</text>
</g>
</g>
</svg>
我认为 jQuery 对 SVG 不友好 :(