
本教程将指导您如何使用j*ascript根据html元素的文本内容动态改变其背景颜色。我们将通过获取特定css类的所有元素,遍历它们,并利用条件逻辑(如`switch`语句)根据`innertext`属性设置不同的背景色,确保该功能在页面加载时自动执行,从而实现灵活的ui响应。
在Web开发中,为了增强用户界面的直观性和响应性,我们经常需要根据数据的实时状态来动态调整元素的视觉表现。例如,一个表示商品状态的文本可能是“Available”(可用)、“Reserved”(预留)或“Selled”(已售),我们可能希望这些文本所在的区域能分别显示绿色、橙色或红色背景。实现这种基于文本内容的条件式背景色修改,其核心在于以下几个步骤:
下面我们将详细介绍如何通过J*aScript代码来实现上述功能。
首先,我们需要在HTML中定义带有特定类名的元素。这些元素的文本内容将作为我们后续J*aScript逻辑的判断依据。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>动态背景色示例</title>
<style>
/* 基础样式,背景色将由J*aScript动态控制 */
body {
font-family: Arial, sans-serif;
padding: 20px;
background-color: #f4f4f4;
}
.disponibilite_mh {
padding: 8px 12px;
margin-bottom: 8px;
border-radius: 4px;
display: inline-block; /* 使元素并排显示 */
min-width: 100px;
text-align: center;
font-weight: bold;
color: black; /* 文本颜色保持不变 */
border: 1px solid #ccc; /* 增加边框以便区分 */
}
</style>
</head>
<body>
<h1>商品状态概览</h1>
<div class="disponibilite_mh">Available</div>
<div class="disponibilite_mh">Reserved</div>
<div class="disponibilite_mh">Selled</div>
<div class="disponibilite_mh">Pending</div> <!-- 文本不匹配预设,将应用默认背景色 -->
<div class="disponibilite_mh">Available</div>
<div class="disponibilite_mh">Sold Out</div> <!-- 文本不匹配预设,将应用默认背景色 -->
<!-- 引入J*aScript文件,通常放在</body>标签前以确保DOM已加载 -->
<script src="script.js"></script>
</body>
</html>接下来,我们编写J*aScript函数来封装背景色修改的逻辑,并确保它在页面加载完成后执行。
GitFluence
AI驱动的Git命令生成器,可帮助您快速找到正确的命令
88
查看详情
// script.js
function changeBackgroundColorByText() {
// 1. 获取所有具有特定类名 "disponibilite_mh" 的元素
// document.getElementsByClassName 返回一个 HTMLCollection (类数组对象)
const elements = document.getElementsByClassName("disponibilite_mh");
// 2. 遍历所有获取到的元素
// 使用 for...of 循环遍历 HTMLCollection 是现代J*aScript的推荐做法
for (let element of elements) {
// 3. 获取元素的文本内容并进行条件判断
// 使用 .innerText 获取元素的可见文本内容
// .trim() 方法用于去除文本内容两端的空白字符,增加匹配的健壮性
const textContent = element.innerText.trim();
// 使用 switch 语句根据文本内容设置不同的背景色
switch (textContent) {
case 'Available':
element.style.backgroundColor = 'lightgreen'; // 可用:浅绿色
break;
case 'Reserved':
element.style.backgroundColor = 'lightsalmon'; // 预留:浅橙色
break;
case 'Selled':
element.style.backgroundColor = 'lightcoral'; // 已售:浅红色
break;
default:
// 如果文本内容不匹配任何预设的 case,则应用默认背景色
element.style.backgroundColor = 'lightgray'; // 默认:浅灰色
}
}
}
// 4. 确保在页面完全加载后执行此函数
// window.onload 事件在整个页面(包括所有图片、脚本、样式表等)加载完毕后触发
window.onload = changeBackgroundColorByText;
// 替代方案:如果仅需DOM树构建完成,不等待其他资源,可使用 DOMContentLoaded
// document.addEventListener('DOMContentLoaded', changeBackgroundColorByText);
// 通常对于DOM操作,DOMContentLoaded 更快,能提供更迅速的视觉反馈。const statusColors = {
'Available': 'lightgreen',
'Reserved': 'lightsalmon',
'Selled': 'lightcoral',
'Pending': 'lightgray' // 也可以在这里定义默认值
};
// 在循环中:
// element.style.backgroundColor = statusColors[textContent] || 'lightgray';这样可以使代码更清晰,
更易于管理和扩展。
本教程详细介绍了如何利用J*aScript根据HTML元素的文本内容动态地修改其背景颜色。通过document.getElementsByClassName获取目标元素集合,结合for...of循环进行遍历,以及switch语句进行条件判断和样式应用,最终通过window.onload(或DOMContentLoaded)确保在页面加载完成后执行,我们能够实现灵活且响应式的UI效果。掌握这一技巧,可以帮助开发者创建更加动态和用户友好的Web界面,提升用户体验。
以上就是J*aScript教程:根据元素文本内容动态设置背景色的详细内容,更多请关注其它相关文章!
# 完成后
# 营销推广战略模板怎么写
# 优露清产品营销推广分析
# seo优化直招
# cdk充值SEO站长
# 华盖创意网站建设管理
# 佳县全网营销推广招聘
# 如果做外贸推广会怎么样 营销
# 山东网站优化推广服务商
# 怎么做短视频关键词排名采集
# 海鲜大咖营销推广策略
# 值为
# 为例
# 更快
# 详细介绍
# 不匹配
# css
# 样式表
# 遍历
# 加载
# 背景色
# switch
# ai
# 编码
# 处理器
# node
# js
# html
# java
# javascript
# react
# vue
相关文章:
Fabric Mod开发:在1.19.3+版本中正确添加自定义物品并管理物品组
深入理解J*a链表中的IPosition接口与使用
动漫共和国防屏蔽稳定域名-动漫共和国官方正版直达通道
Basecamp怎样用留言钉固定重点_Basecamp用留言钉固定重点【重点标记】
Animex动漫社网入口地址 Animex动漫社网正版在线入口
微信商城在哪里打开【步骤】
虚幻5科幻题材ARPG大作遭取消!本是《奇异人生》厂商新作
快手官方唯一登录入口 谨防山寨钓鱼网站
圆通快递查询实时追踪 圆通物流包裹状态快速查看
如何在复杂的电商平台中优雅地管理共享资源并确保正确重定向,使用spryker-shop/resource-share-page模块助你一臂之力
Archive of Our Own官网直达 AO3最新可用地址一览
CSS布局中意外空白:解决padding-top导致的顶部间距问题
Excel文件在线转换快速入口 Excel在线格式转换网站
优化 Jest 模拟:强制未实现函数抛出错误以提升测试效率
在WordPress中通过REST API访问受BasicAuth保护的站点内容
漫蛙漫画网页端入口 漫蛙2官方正版漫画站点
PyTorch模型训练准确率不提升:诊断与修复常见指标计算错误
Highcharts 雷达图径向轴标签定制指南:利用多Y轴实现数值标注
KFC早餐时段怎么领特惠代码_KFC早餐订餐优惠代码获取与使用说明
React项目中导航栏Logo自适应布局:避免裁剪与布局溢出
c++中的std::launder有什么实际用途_c++对象生命周期与指针优化
必由学官方网站入口 必由学学生教师共用登录通道
微信网页版扫码登录入口 微信网页版二维码登录入口
html网页设计源代码怎么运行_运行html网页设计源代码步骤【指南】
Node.js 中使用 node-cron 实现定时 API 数据抓取与处理
CSS响应式网页如何实现主次模块比例自适应_flex-grow与flex-shrink调整
Win11怎么查看电脑配置_Win11硬件配置检测工具使用
qq浏览器打开空白页怎么办 qq浏览器启动后显示白屏的解决教程
ACG动漫视频网入口 ACG动漫*免费正版观看地址
企业名称高精度匹配:N-gram方法在结构相似性分析中的应用
J*aScript实现动态背景色下的文本与按钮颜色自适应调整
126邮箱账号注册 电脑版登录入口
win11专注助手在哪 Win11免打扰模式设置与自动化规则【指南】
c++如何使用std::memory_order控制原子操作顺序_c++ C++11内存模型详解
拼多多视频播放卡顿如何处理 拼多多视频播放优化技巧
163邮箱登录密码 163邮箱忘记密码找回
如何让 composer 信任自签名的 HTTPS 证书源?
J*a ArrayList索引越界异常:动态构建列数据的高效策略
AO3官网镜像链接 Archive of Our Own同人文在线浏览
qq游戏跨平台入口_qq游戏多设备同步登录
2306选座时如何选靠窗位置_12306选座靠窗座位查看方法解析
基于多条件高效更新SQL表:利用CASE表达式优化业务逻辑
邮政快递单号查询入口 邮政快递物流信息在线查询入口
J*aScript数组对象转换:按指定键分组与值收集
J*aScript DOM操作:高效清空列表元素的策略与实践
163邮箱网页版入口导航平台 163邮箱网页版登录入口官网导航
如何将HTML表格多行数据保存到Google Sheet
Yandex搜索引擎官网入口_俄罗斯Yandex免登录一键直达
CSS Box Model与弹性按钮:维持布局稳定的动画实践
深入理解J*aScript Promise异步执行与微任务队列
*请认真填写需求信息,我们会在24小时内与您取得联系。