如何更改<svg>标记为<img>用js标记

How Do I Change an <svg> Tag To An <img> Tag with js?

本文关键字:lt gt js 标记 img 记为 svg 何更改      更新时间:2023-09-26

我正在编写一个chrome扩展,为朋友更改某个网站的徽标。问题是徽标是<svg>标签。如何更改js中的HTML标记和内容?

不确定是否允许使用jQuery,但可以使用replaceWith()

$(document).ready(function(e) {
   $('svg').replaceWith('<img src="http://images.all-free-download.com/images/graphiclarge/smiley_10_55841.jpg" alt="smiley!"/>'); 
});
svg {
    width: 200px;
    height:200px;
}
img {
    width: 200px;
    height: 200px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
  <path d="M30,1h40l29,29v40l-29,29h-40l-29-29v-40z" stroke="#000" fill="none"/> 
  <path d="M31,3h38l28,28v38l-28,28h-38l-28-28v-38z" fill="#a23"/> 
  <text x="50" y="68" font-size="48" fill="#FFF" text-anchor="middle"><![CDATA[410]]></text>
</svg>
</div>

如果您只能使用JavaScript,则有一个replaceChild函数。