Javascript标记字母数组中的第一个字母

时间:2017-05-06 10:25:01

标签: javascript arrays

我有一个名称按字母排序的数组。 安迪 阿尔伯特 安德里亚 伯特 伯恩哈德 丹尼尔

现在我需要标记与A-Z匹配的名字 的安迪 阿尔伯特 安德里亚 的伯特 伯纳德 的丹尼尔

有什么想法吗?

<li class="first">Andy</li>
<li class="second">Andrea</li>
<li class="second">Albert</li>
<li class="first">Bernard</li>
<li class="second">Bert</li>

这是一个大阵列。目前所有人都有class =“second”。 我只想从所有A-names匹配“A”的第一个名称改为class =“first”。

然后是从所有B-names到class =“first”匹配“B”的下一个名字,依此类推到数组的末尾。

1 个答案:

答案 0 :(得分:0)

querySelectorAll('li')Array#forEachArray#includes一起使用,使用元素

&#13;
&#13;
  
var li=document.querySelectorAll('li')
var k = [];
li.forEach(function(a, b) {
var ltr = a.innerHTML.trim().slice(0, 1);
  if (ltr.match(/[A-Za-z]/)) {
    if (!k.includes(ltr)) {
      k.push(ltr);
      a.classList.add('first')
    }
  }
})
&#13;
.first{
color:red;
} 
&#13;
<li class="second">Andy</li>
<li class="second">Andrea</li>
<li class="second">Albert</li>
<li class="second">Bernard</li>
<li class="second">Bert</li>
&#13;
&#13;
&#13;