
本教程将指导您如何使用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
相关文章:
C++如何使用AddressSanitizer(ASan)_C++调试工具中检测内存访问错误的利器
快手网页版在线登录 快手网页版官网入口快速访问
如何配置Composer的PSR-4自动加载_Composer自动加载命名空间映射实践教程
蛙漫画网页版全站入口 蛙漫热门作品免费浏览
谷歌浏览器最新官方入口链接 谷歌浏览器网页版官网导航
护手霜蹭到袖口上了如何清洗? 怎样避免留下一圈油印?
狙击外星人小游戏开始_狙击外星人小游戏立即开始
在PHP脚本中通过SSHFS挂载远程文件系统的最佳实践与常见问题解决
excel怎么提取文本中数字 excel函数提取技巧
win11如何卸载Windows更新补丁 Win11解决更新导致系统不稳定的问题【修复】
解决Flask中Quill编辑器内容提交失败及TypeError的指南
Spring Boot内嵌服务器与J*a EE全栈特性:选择与部署策略
如何解决电商平台定制报价请求的“黑洞”问题,SprykerQuoteRequest模块助你提升客户体验与销售效率
如何更改在 Excel 中打开超链接时的默认浏览器
实现全屏滚动与导航点:专业教程
Win10怎么制作U盘启动盘 Win10系统安装U盘制作教程【详解】
J*aScript井字棋(Tic-Tac-Toe)核心交互逻辑实现教程
印象笔记如何设离线包出差查阅_印象笔记设离线包出差查阅【离线阅读】
Angular Material 垂直步进器:实现底部到顶部排序的教程
淘宝网网页版登录入口 淘宝官方网页版快捷登录
深入理解rpy2中的类型转换:优化Python对象到R矩阵的映射
魅族20怎样在浏览器开无图省流_iPhone魅族20浏览器开无图省流【流量节省】
包子漫画官方网站阅读入口-包子漫画在线漫画官网直达链接
微博网页版主页入口 微博官方网站免登录访问
PHP实现即时文章发布与单次数据库写入:自提交模式教程
Python多版本共存与虚拟环境管理深度指南
J*a初级项目如何接入API数据_第三方接口请求与响应解析
Win11网速慢怎么解决 Win11网络设置优化解除限速
Lar*el Migration:重命名列后添加新列的正确操作顺序
J*aScript打印功能_j*ascript输出控制
在Blazor WebAssembly应用中动态注入客户端特定指标代码的策略
CSS自定义字体样式被系统字体替换怎么办_font-face方式指定font-display控制渲染策略
uc浏览器网页版入口 uc浏览器网页版最新网址
BetterDiscord插件中安全更新用户简介的实践指南
如何设置Windows Defender的定时扫描_计划任务实现自动杀毒【安全】
excel怎么制作工资条 excel快速生成工资条的方法
蛙漫官网漫画入口地址_蛙漫在线畅读无广告弹窗
修复二维数组索引越界异常:一维循环到二维坐标的正确映射
wps文字怎么插入目录并自动更新_wps文字如何插入目录并自动更新方法
Surface怎么安装系统 微软Surface Pro U盘重装win11教程
EMS快递官网app_中国邮政速递物流手机客户端
解决Django多数据库/多Schema环境下外键迁移问题
J*a TimerTask文件监控:HashMap状态管理与常见陷阱规避指南
我的世界官方游戏入口 我的世界官网平台直达链接
支付宝解绑银行卡步骤_支付宝如何解除绑定银行卡
苹果手机指南针不准怎么校准 传感器校准方法详解【建议收藏】
12306怎么选座位选到安静区_12306选座安静区域选择策略
126邮箱网页版官方入口 126邮箱账号在线登录平台
Mac终端命令大全_Mac常用Terminal指令速查
Web Components中自定义开关组件状态同步的常见陷阱与解决方案
*请认真填写需求信息,我们会在24小时内与您取得联系。