Javascript 用内联html替换字符串
我在一段文本中有几个关键字,需要用内联html动态替换。使用jQuery实现这一点的最佳方式是什么 e、 g:Javascript 用内联html替换字符串,javascript,jquery,Javascript,Jquery,我在一段文本中有几个关键字,需要用内联html动态替换。使用jQuery实现这一点的最佳方式是什么 e、 g: Lorem:XXXX:dolor sit amet, 客户:YYYY:elitr。 结果应该是: <p> Lorem <span class="XXXX"></span> dolor sit amet, consetetur <span class="YYYY"></span> elitr. </p>
Lorem:XXXX:dolor sit amet,
客户:YYYY:elitr。
结果应该是:
<p>
Lorem <span class="XXXX"></span> dolor sit amet,
consetetur <span class="YYYY"></span> elitr.
</p>
洛勒姆·多洛·西特·阿梅特,
康塞特·埃利特。
您并不需要jQuery来实现这一点,但我猜您已经在页面的其他地方使用了它。假设p
标记中的文本只是普通文本,并且您没有试图解析任意HTML,那么您可以这样做
var item = $('p');
var htmltext = item.text();
htmltext = htmltext.replace(/:(\w+):/g, '<span class="$1"></span>');
item.html(htmltext);
var item=$('p');
var htmltext=item.text();
htmltext=htmltext.replace(/:(\w+):/g';
html(htmltext);
这也是假设“p”是您想要的选择器。另外,假设模式并不总是“:XXXX:”您可能需要根据所需目标调整正则表达式。您不需要为这个简单的纯JS解决方案加载框架:
var el = document.getElementsByTagName('p')[0];
var replacements = [':XXXX:', ':YYYY:'];
for (var i = 0; i < replacements.length; i++) {
el.innerHTML = el.innerHTML.replace(replacements[i], '<span>' + replacements[i] + '</span>');
}
var el=document.getElementsByTagName('p')[0];
变量替换=[':XXXX:',':YYYY:'];
对于(变量i=0;i
或使用正则表达式:
var el = document.getElementsByTagName('p')[0];
el.innerHTML = el.innerHTML.replace(/(:\w+:)/g, '<span>$1</span>');
var el=document.getElementsByTagName('p')[0];
el.innerHTML=el.innerHTML.replace(/(:\w+:)/g,“$1”);
var$p=$('p');var htmltext=$p.text();好的观点;这将降低HTML进入RegEx比较的可能性。
var el = document.getElementsByTagName('p')[0];
el.innerHTML = el.innerHTML.replace(/(:\w+:)/g, '<span>$1</span>');