Ho un elemento SVG con un ForeignObject che contiene un div. Poi, nel mio js faccio questo:SVG foreignObject non visualizzato in Chrome
$("#wrapper>svg>foreignObject>div").sparkline(data);
che crea una tela all'interno del div. Quando guardo il codice html Firebug per i due browser sono:
Firefox:
<svg>
<foreignObject width="20" height="20" x="10" y="-10">
<div>
<canvas style="display: inline-block; width: 18px; height: 19px; vertical-align: top;" width="18" height="19"></canvas>
</div>
</foreignObject>
</svg>
Chrome:
<svg>
<foreignobject width="20" height="20" x="10" y="-10"/>
<svg>
in Chrome che pretende molto anche mostrare il div. Il modo in cui creo il div è
nodeEnter.append("foreignObject")
.attr("width", "20")
.attr("height", "20")
.attr("x", "10")
.attr("y","-10");
$("#wrapper>svg>foreignObject").append("<div></div>");
Firefox funziona come mi aspetto di lavorare. Ma il cromo no. Qualcuno ha qualche suggerimento?
Inoltre, penso che parte del problema è che l'output HTML firebug di Chrome mostra "foreignobject" ma Firefox mostra "foreignObject" come ho aggiunto.
Cool @Demosthenes grazie ha funzionato. –
Potrebbe valere la pena aggiornarlo poiché Chrome sembra aver cambiato il suo comportamento e l'elemento secondario ora deve essere spostato - stranamente Edge non si cura in alcun modo. Nessuno spazio dei nomi è necessario per entrambi i browser (ma altri potrebbero essere ancora schizzinosi). –
dav1dsm1th