Javascript:特定字符之前的粗体字符串

标签 javascript

我有 Javascript 代码可以将整个字符串变为粗体,但是,我想调整代码以仅将字符串中“:”之前的部分粗体化

我目前拥有的代码是:

function changeBrandName() 
{
  var prodList = document.querySelectorAll("h1.ProductList-title");
  for (i = 0, len = prodList.length; i < len; i++) 
  {
    var store = prodList[i].indexOf(":");

    for (j = 0; j < store; j++)
    {
      prodList[i].charAt[j].style.fontWeight = 'bold';
    } 
  }
}

以这种方式应用 fontWeight 目前不起作用 - 如有建议,我们将不胜感激。

完整的字符串是“Vifa:Pebble Gray Oslo Loudspeaker” - 我希望“Vifa”以粗体显示。

最佳答案

使用良好的普通老式 JavaScript:

let h1s = document.querySelectorAll('.ProductList-title');

btn.addEventListener('click', function(event) {
  for (const h1 of h1s) { 
    let [brand, text] = h1.textContent.split(':');
    h1.innerHTML = `<b>${brand}</b>: ${text}`
  }
  this.parentElement.removeChild(this);
})
h1 { font-weight: normal; }
<h1 class="ProductList-title">Porsche: Cayenne</h1>
<h1 class="ProductList-title">BMW: i8</h1>
<button id="btn" type="button">Click to self-destruct</button>

关于Javascript:特定字符之前的粗体字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54429643/

相关文章:

javascript - 如何在更新面板回发后执行 javascript 回调?

javascript - 隐藏/显示带链接的 div

javascript - 无需迭代将javascript数组中的所有值初始化为0

javascript - 使用shiny DT包中的选择扩展附带的全选按钮仅选择过滤的行

javascript - 仅更改多个命名嵌套路由之一

javascript - HTML5 : Resizing a canvas

javascript - 使用脚本更改网站的元素?

javascript - JSON:未捕获的语法错误:参数列表后缺少)

c# - javascript 中相同的 c# 代码是什么?

javascript 运算符 "| "与数字