下記の2パターンのコードを使ったところ、1つ目の方法ではSVG画像が表示されず、2つ目では表示されます。
この違いはなんでしょうか?
JavaScript
1let svg = document.createElement('svg'); 2let use = document.createElement('use'); 3use.setAttribute('xlink:href', '/materials/logo.svg'); 4svg.appendChild(use); 5 6//appendChildで要素を追加 7document.body.appendChild(svg);
JavaScript
1let svg = document.createElement('svg'); 2let use = document.createElement('use'); 3use.setAttribute('xlink:href', '/materials/logo.svg'); 4svg.appendChild(use); 5 6let base = document.createElement('div'); 7base.appendChild(svg); 8 9//HTMLを出力 10document.write(base.innerHTML);
chromeの開発者ウィンドウのElementsタブで確認すると、どちらも同じHTMLになっています。
このJavaScriptは、HTMLの読込中に実行されます。
HTML
1<html> 2 <head>...</head> 3 <body> 4 ... 5 <script> 6 //ここで上記のスクリプトを実行 7 </script> 8 ... 9 </body> 10</html>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/18 07:34