使用javascript将html节点替换为字符串
Replace a html node with a string using javascript
我有一个看起来与此类似的HTML文档。
<html>
<body>
<h1>My Embeded SVG</h1>
<p>This is my html page with some embedded SVG</p>
<svg id="mySVG"></svg>
<textarea id="userbox"></textarea>
<input type="button" value="Replace" OnClick="replaceText()"/>
</body>
</html>
我需要能够用用户生成的字符串从文本区替换节点。为此,我编写了一个JavaScript函数....但是,这将替换整个HTML文档。
function replaceText(){
var allText = document.getElementById("userbox").value;
var newDoc = document.open("text/svg", "replace");
newDoc.write(allText);
newDoc.close();
}
是否有某种方法可以替换SVG节点。
来自用户的文本看起来与此类似。
<svg id="mySVG" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path id="javascript" d="M 448 0 L 1045 0 L 896 40 L 846 159 L 746 378 z" fill="rgba(092,000,214,0.36)" stroke="black"></path></svg>
你可以这样做:
<h1>My Embeded SVG</h1>
<p>This is my html page with some embedded SVG</p>
<div id="svgContainer">
<svg id="mySVG"></svg>
</div>
<textarea id="userbox"></textarea>
<input type="button" value="Replace" OnClick="replaceText()"/>
javascript是这样的:
// replace below line with the real variable coming from the user input.
var strFromUser = '<svg id="mySVG" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path id="javascript" d="M 448 0 L 1045 0 L 896 40 L 846 159 L 746 378 z" fill="rgba(092,000,214,0.36)" stroke="black"></path></svg>'
var container = document.getElementById("svgContainer");
container.innerHTML = strFromUser;
您不应该在页面呈现后使用write()
或writeln()
。这将清除整个页面。
您需要做的是将SVG
放在<DIV>
或其他一些标签中。然后将getElementById()
改为DIV
,并将其innerHTML
改为用户输入的值。
p。注意你有textarea
id userbox
,但在JS中你使用saveBox
相关文章:
- 如何用jquery替换字符串中可能变化的字符
- 用数字单位替换字符串的一部分
- 替换字符串javascript中的所有特殊字符..
- 替换字符串的脚本;在某些网站上不起作用
- 使用javascript替换字符串中除第一个和最后一个之外的所有字符
- 替换字符串中的占位符值
- 用HTML元素替换字符串的一部分
- JavaScript来替换字符串中的变量
- 如何替换字符串中最后一个出现的变量
- 在JavaScript中,如何用一个字符替换字符串中的所有字母
- 替换字符串中的数字
- 如何使用JavaScript Regex替换字符串中双引号之间的文本
- JavaScript:替换字符串两边的字符
- 用JQuery/Javascript替换字符串中的所有逗号
- 替换字符串的下一个匹配项
- JavaScript 不会替换字符串的最后一个符号
- 在 JavaScript 中替换字符串中的字母
- 修复了如何在容器中查找和替换字符串的功能
- 需要在 javascript 倒计时达到 0 后替换字符串
- j如何从给定字符串的一部分替换字符串