使用javascript正则表达式替换特定字符串

时间:2016-10-24 09:23:25

标签: javascript regex

我有这样的字符串,

var str="<svg width='321' height='987'></svg>";

我想使用JavaScript替换此字符串的widthheight(widht和height在这里是动态的)。 我试过这个

str.replace("width='", "width='100%");

但我知道这不会奏效。我不知道如何在javascript中替换特定字符串中的文本。输出应该是,

var str="<div width='100%' height='100%'></div>";

替换应仅适用于字符串中的第一次出现。

1 个答案:

答案 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>