我想做一些可能无法做到的事情,但这里什么也没做。
假设我有这个虚拟文本:“{red} Test {default} Message”(不带引号) 我想要一个(jQuery)脚本用span替换{red}并添加一个结束标记。 P元素将是格式化测试消息的位置。
E.G。
<p><span style="color:red;">Test</span> <span style="color:white;">Message</span></p>
我在互联网上搜索过,我只能找到被其他HTML元素替换的HTML元素。 (或类似的)。 我还没有尝试过,因为我不知道从哪里开始。
答案 0 :(得分:0)
注意:使用initial
颜色代替default
。
s = "{red}Test {initial}Message";
html = '<p>'+s.replace(/\{(\w*)\}([^{]*)/g,'<span style="color:$1">$2</span>')+'</p>'
document.body.innerHTML=html;
// inherit
s = "<br>{red}Red {initial}Initial and {inherit}Inherited colors";
html = '<p style="color:orange">'+s.replace(/\{(\w*)\}([^{]*)/g,'<span style="color:$1">$2</span>')+'</p>'
document.body.innerHTML+=html;
//with own colors
colors={
red:'#5f0',
green:'purple'
};
s = "<br>{red}Red {green}Green and {orange}orange colors";
html = '<p>'+s.replace(/\{(\w*)\}([^{]*)/g,function(s,s1,s2){
if(colors[s1])
s1=colors[s1];
return '<span style="color:'+s1+'">'+s2+'</span>'
})+'</p>'
document.body.innerHTML+=html;
&#13;