Я создал следующий документ:
<g>
<path class="line" name="gene_1" stroke="#aec7e8" d="M10.47..."></path>
<path class="line" name="gene_2" stroke="#aec7e8" d="M10.47..."></path>
<path class="line" name="gene_3" stroke="#aec7e8" d="M10.47..."></path>
...
</g>
Когда я курсирую над каждым путем, я хочу добавить его последним в svg: g, чтобы он отображался поверх других строк, но я не знаю, как правильно выбрать parentNode:
function onmouseover(d, i){
var current_gene_name = d3.select(this).attr("name"),
current_gene_pcp = d3.select(".line[name=" + current_gene_name + "]");
p1 = this.parentNode
p2 = current_gene_pcp[0].parentNode
p3 = current_gene_pcp[0][0].parentNode
//p.appendChild(this);
}
p1 работает, но я хотел убедиться, что "this" является .line, поэтому я предпочел использовать current_gene_pcp, но p2 возвращает <html></html>
в качестве родителя, хотя p3 возвращает правильный <g></g>
. Эта последняя версия выглядит как ошибка, ожидающая появления. Есть ли лучший способ?