2014-09-22 2 views
0

Я рисую график, используя библиотеку D3.js.Вставить элемент SVG перед другим элементом SVG с классом

Мне нужно вставить элемент svg перед элементом svg с классом «abc».

Это то, что я пытался сделать:

gParent[0][0].insertBefore("g", $('.abc')) 
.attr({ 
      class: "axis-down", 
      transform: "translate(120, 120)" 
     }) 

Но он не работает и выдает ошибку.

Это прекрасно работает, но он добавляет г после аЬса, а не до

gParent.append("g") 
    .attr({ 
       class: "axis-down", 
       transform: "translate(120, 120)" 
      }) 

gParent является родительским узлом.

Любые идеи, что я делаю неправильно?

ответ

2

В D3, синтаксис просто .Вмонтировать (SVG: ElementType, "CSS Selector")

Так что это будет работать:

gParent.insert("g", ".abc") 
.attr({ 
      class: "axis-down", 
      transform: "translate(120, 120)" 
     }) 
+0

Будет ли это создать новый элемент с SVG класса оси вниз до .abc? – Ishita

+0

Я пробовал, и это сработало. Спасибо, Илия. Ты обалденный :) – Ishita

Смежные вопросы