我有一个包含单词的数组,如果在字符串中找到这些单词,它们需要被加粗显示,但我无法正确地使其工作。
以下是我的代码。如您所见,我正在循环处理包含字符串的表格和数组。
在第一个字符串中,只有1个单词(venkel)被选中并替换,但仅替换一次。我需要在字符串中找到数组中的所有单词,并用加粗值替换它们。
更新:使用正则表达式时,并非所有单词都会更新。
以下是我的代码。如您所见,我正在循环处理包含字符串的表格和数组。
在第一个字符串中,只有1个单词(venkel)被选中并替换,但仅替换一次。我需要在字符串中找到数组中的所有单词,并用加粗值替换它们。
更新:使用正则表达式时,并非所有单词都会更新。
var productName = ["witte asperges", "crème fraîche", "wijtingfilet", "selder", "BIO wortelen", "BIO rode ui", "venkel"],
descriptionName = document.getElementsByClassName("Description");
for (var i = 0; i < productName.length; i++) {
var product = productName[i];
for (var x = 0; x < descriptionName.length; x++) {
var description = descriptionName[x];
if (description.textContent.indexOf(product) !== -1) {
descriptionName[x].innerHTML = descriptionName[x].textContent.replace(product, product.bold());
}
}
}
<table style="width:60%;">
<tbody>
<tr>
<td class="data Description">Spoel ondertussen de wortelen goed schoon en snijd de wortelen en de selder in blokjes van 2 cm. Verwijder het stugge uiteinde van de venkel en snijd in plakjes van 2 cm. Voeg de venkel, de wortelen en de selder toe aan de pan en laat 4 min.</td>
</tr>
<tr>
<td class="data Description">Spoel de aardappelen en boen ze goed schoon. Snijd ze in blokjes van 3 cm en kook ze in zo’n 10-15 min. beetgaar in lichtgezouten water.</td>
</tr>
<tr>
<td class="data Description">Giet de crème fraîche bij het vispannetje, breng op smaak met een snuifje zout en flink wat zwarte peper en laat 3 min. opwarmen. Dien het vispannetje op met de puree. Smakelijk!</td>
</tr>
</tbody>
</table>