Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用内联html替换字符串_Javascript_Jquery - Fatal编程技术网

Javascript 用内联html替换字符串

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>

我在一段文本中有几个关键字,需要用内联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> 

洛勒姆·多洛·西特·阿梅特,
康塞特·埃利特。


您并不需要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>');