You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript按颜色将span标签内容分类到不同数组?

筛选不同颜色span内容到数组的JavaScript实现

以下提供两种场景的解决方案:

场景1:操作页面DOM中的span元素

如果目标span已经在当前页面的DOM结构中,可以直接通过DOM API筛选:

// 初始化存储数组
const blueSpanContents = [];
const redSpanContents = [];

// 获取所有span标签
const spans = document.querySelectorAll('span');

spans.forEach(span => {
    // 统一转为小写,避免大小写匹配问题
    const spanColor = span.style.color.toLowerCase();
    const content = span.textContent.trim();
    
    if (spanColor === 'blue') {
        blueSpanContents.push(content);
    } else if (spanColor === 'red') {
        redSpanContents.push(content);
    }
});

// 输出结果
console.log('蓝色span内容:', blueSpanContents);
console.log('红色span内容:', redSpanContents);

场景2:处理HTML字符串中的span标签

如果只有HTML文本字符串,可通过临时DOM元素解析后再筛选:

// 你的HTML字符串
const htmlString = `
<p><span style="color: blue;">Yes this one now</span></p>
<p><br></p>
<p>The main configuration value is this</p>
<p><br></p>
<p>!</p>
<p>enable</p>
<p>configure terminal</p>
<p>server name <span style="color: red;">Server Name</span></p>
<p>enable secret <span style="color: red;">Server Pass</span></p>
<p>no ip domain-lookup</p>
<p>ip domain name <span style="color: red;">region</span>.google.com</p>
<p>!</p>
<p><br></p>
`;

const blueContents = [];
const redContents = [];

// 创建临时div用于解析HTML
const tempContainer = document.createElement('div');
tempContainer.innerHTML = htmlString;

// 筛选逻辑同场景1
const allSpans = tempContainer.querySelectorAll('span');
allSpans.forEach(span => {
    const color = span.style.color.toLowerCase();
    const text = span.textContent.trim();
    
    if (color === 'blue') {
        blueContents.push(text);
    } else if (color === 'red') {
        redContents.push(text);
    }
});

console.log('蓝色span内容:', blueContents);
console.log('红色span内容:', redContents);

额外说明

如果span的color样式是通过CSS类而非内联style设置的,需要用getComputedStyle(span).color来获取实际生效的颜色值,再进行匹配(注意getComputedStyle返回的是rgb格式,比如红色会返回rgb(255, 0, 0))。

内容的提问来源于stack exchange,提问作者John Doe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 13:55:17