我试图用span类将每个单词的第一个字母包装在标题标记中,这样我就可以使用CSS设置它们的样式.我试图使用我在这里找到的一个片段,但我有2个h1标记,它正在使用第一个标记,并在第二个标记中重复它!

功能如下:

<script>
  $(document).ready(function() {
    var words = $('h1').text().split(' ');
    var html = '';
    $.each(words, function() {
      html += '<span class="firstLetter">' + this.substring(0, 1) + '</span>' + this.substring(1) + ' ';
      $('h1').html(html);
    });

  });
</script>

因此,我在顶部的横幅中有一个h1,在内容的开头有一个h1,但该函数正在使用顶部横幅标题并用它替换内容标题,但span类正在工作!

我知道你不应该有2个h1,但我想针对所有标题,这是一个CMS的客户,所以我不能保证他们不会使用多个h1,所以我正在测试它!

推荐答案

根据OP的要求,这将"包装每个单词的第一个字母".

因为有两个<h1>元素(正如OP所说,非常错误),所以也应该使用each来迭代它们,就像OP对words数组所做的一样.

$(document).ready(function() {

    $('h1').each( function(index, heading) {
    
      const words = $(heading).text().split(' ')
      let html = '';
      
      $.each(words, function() {
        html += '<span class="firstLetter">'+this.substring(0,1)+'</span>'+this.substring(1) + ' ';
      })
      
      $(heading).html(html);
    })
    
});
span.firstLetter {
  color: violet;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<h1>Lorem ipsum dolor sit amet</h1>

<hr>

<h1>Bacon ipsum dolor amet biltong pork chop bacon</h1>

Javascript相关问答推荐

字节数组通过echo框架传输到JS blob

如何解决chrome—extension代码中的错误,它会实时覆盖google—meet的面部图像?'

用JavaScript复制C#CRC 32生成器

从Node JS将对象数组中的数据插入Postgres表

如何在Angular17 APP中全局设置AXIOS

我在Django中的视图中遇到多值键错误

IF语句的计算结果与实际情况相反

<;img>;标记无法呈现图像

WebSocketException:远程方在未完成关闭握手的情况下关闭了WebSocket连接.&#三十九岁;

无法设置RazorPay订阅API项目价格

我正在试着做一个TicTacToe Ai来和我玩.但是,我试着在第一个方块被点击时出现一个X,然后在第二个方块之后出现一个O

如何更改Html元素S的 colored颜色 ,然后将其褪色为原始 colored颜色

自动滚动功能在当前图像左侧显示上一张图像的一部分

如何让SVG图标在被点击和访问后改变 colored颜色 ,并在被访问后取消点击时恢复到原来的 colored颜色 ?

Firefox的绝对定位没有达到预期效果

如何从嵌套的json中获取最大值

检测带有委托的元素内部的点击,以及元素何时按其类名被选中

使用JAVASCRIPT-使用If和Else If多次判断条件-使用JAVASRIPT对象及其属性

如何为Reaction应用程序创建仅登录的路由?

如何在HTML中使用rxjs显示动态更新