如何更改所有这些名称中每个“e”字符的背景颜色\/

我希望输出看起来像这样:


stephen


peter


ben

但是“e”字符具有背景颜色。这可以使用下面的代码和一些 javascript 吗?


<!DOCTYPE html>

<html>

<head>

</head>

<body>



<div>

stephen

<p id="demo">peter</p>

ben

</div>



<script>


</script>

</body>

</html>


HUX布斯
浏览 188回答 2
2回答

红糖糍粑

获取名称,将它们拆分为字母,通过比较函数传递每个字母,如果是 e,则添加一个带有高亮类的跨度。var names = document.querySelectorAll('p');names.forEach(function(name){&nbsp; var letters = name.innerText.split('');&nbsp; var newName = '';&nbsp; &nbsp; letters.forEach(function(letter){&nbsp; &nbsp; newName += isE(letter);&nbsp; })&nbsp; name.innerHTML = newName;})function isE(letter){let newStr =''&nbsp; letter.toLowerCase() == 'e'&nbsp; &nbsp; ? newStr += '<span class="highlight">'+ letter +'</span>'&nbsp; &nbsp; : newStr = letter;&nbsp; return newStr;}.highlight {&nbsp; background-color: yellow}<p id="demo1">stephen</p><p id="demo2">peter</p><p id="demo3">ben</p>

胡说叔叔

我的解决方案const elementDiv = document.querySelector('div');const elementText = elementDiv.textContent.trim().split(/\s+/);elementDiv.innerHTML = '';elementText.forEach(element => {&nbsp; elementDiv.innerHTML += `<br>${element.replace(/e/gi, '<span style="color: red;">e</span>')}`;});<div>&nbsp; stephen&nbsp; <p id="demo">peter</p>&nbsp; ben</div>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript