私はjQueryを使用して、次のように埋め込みSVGに要素を追加しています。
var rect = SVG('rect');
$(rect).attr( { x: left,
y: top,
width: right - left,
height: bottom - top,
style: style } );
$(parentElement).append(rect);
parentElementは、たとえば$('g:first'、svgRoot)のようになります。ここで、svgRootは埋め込まれたSVG要素を指します。
function SVG(elementName) {
return document.createElementNS('http://www.w3.org/2000/svg', elementName);
}
これはうまく機能し、新しい長方形がブラウザに表示され、DOMに追加されます。
ただし、この長方形の削除は失敗します。それはまだブラウザに表示され、DOMに存在します:
$(rect).remove();
私も試しました
rect.parentNode.removeChild(rect);
その結果、「Uncaught TypeError:Cannot call method'removeChild'ofnull」というエラーメッセージが表示されます。
どうすればそれを修正できるか分かりますか?私のプロジェクトでは、jQuerySVGまたは別のプラグイン/フレームワークを使用できません。