我有这样的字符串,
var str="<svg width='321' height='987'></svg>";
我想使用JavaScript替换此字符串的width
和height
(widht和height在这里是动态的)。
我试过这个
str.replace("width='", "width='100%");
但我知道这不会奏效。我不知道如何在javascript中替换特定字符串中的文本。输出应该是,
var str="<div width='100%' height='100%'></div>";
替换应仅适用于字符串中的第一次出现。
答案 0 :(得分:4)
Don't try to do regex/string stuff on chunks of HTML。使用浏览器解析它:
var str = "<svg width='321' height='987'></svg>";
var tempWrapper = document.createElement("div");
tempWrapper.innerHTML = str;
tempWrapper.firstChild.setAttribute("width", "100");
tempWrapper.firstChild.setAttribute("height", "100")
console.log(tempWrapper.innerHTML);
document.querySelector(".myPage").innerHTML = tempWrapper.innerHTML;
svg { border: 1px solid red; }
<div class="myPage"></div>