原生 JS 与 ECMAScript 高级语法:实现可增删改状态的品牌列表
以下是一个使用原生 JavaScript 和 ECMAScript 高级语法实现的品牌列表的示例代码: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>品牌列表</title> </head> <body> <h2>品牌列表</h2> <input type="text" id="brandNameInput" placeholder="输入品牌名称"> <button onclick="addBrand()">添加</button> <table border="1" id="brandTable"> <tr> <th>行号</th> <th>品牌名称</th> <th>状态</th> <th>创建时间</th> <th>操作</th> </tr> <tr> <td>1</td> <td>品牌 1</td> <td><button onclick="toggleStatus(0)">已启用</button></td> <td>2023-09-15 10:00:00</td> <td><button onclick="deleteBrand(0)">删除</button></td> </tr> <tr> <td>2</td> <td>品牌 2</td> <td><button onclick="toggleStatus(1)">已启用</button></td> <td>2023-09-16 11:00:00</td> <td><button onclick="deleteBrand(1)">删除</button></td> </tr> </table> <script> // 定义品牌数据数组 let brands = [ { name: '品牌 1', status: '已启用', createdAt: '2023-09-15 10:00:00' }, { name: '品牌 2', status: '已启用', createdAt: '2023-09-16 11:00:00' } ]; // 生成表格行 function generateTableRow(index, brand) { let row = document.createElement('tr'); row.innerHTML = ` <td>${index + 1}</td> <td>${brand.name}</td> <td><button onclick="toggleStatus(${index})">${brand.status}</button></td> <td>${brand.createdAt}</td> <td><button onclick="deleteBrand(${index})">删除</button></td> `; return row; } // 添加品牌 function addBrand() { let brandName = document.getElementById('brandNameInput').value; if (brandName) { let newBrand = { name: brandName, status: '已启用', createdAt: new Date().toISOString() }; brands.push(newBrand); let table = document.getElementById('brandTable'); table.appendChild(generateTableRow(brands.length - 1, newBrand)); document.getElementById('brandNameInput').value = ''; } } // 切换状态 function toggleStatus(index) { brands[index].status = brands[index].status === '已启用'? '已禁用' : '已启用'; let button = document.getElementById('brandTable').rows[index + 1].cells[2].getElementsByTagName('button')[0]; button.innerHTML = brands[index].status; } // 删除品牌 function deleteBrand(index) { if (brands[index].status === '已启用') { if (confirm('确定要删除吗?')) { brands.splice(index, 1); let table = document.getElementById('brandTable'); table.deleteRow(index + 1); } } else { alert('只有已启用状态的品牌才能删除!'); } } </script> </body> </html> ``` 在上述代码中,我们使用原生 JavaScript 实现了添加、切换状态和删除品牌的功能。状态切换通过修改数据数组中的状态值,并更新界面上的按钮文本。删除操作在确认后从数据数组和表格中移除相应的行。 ######[AI写代码神器 | 1015点数解答 | 2024-11-18 17:45:51]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)343
- "Debugging 'Cannot Read Properties of Null (reading \'userid\')' Error in Vue Components: Steps and Example"(讯飞星火 | 614点数解答 | 2024-11-28 14:31:57)267
- HTML+jQuery 实现列表元素悬停动画效果:代码详解与注意事项(字节豆包 | 475点数解答 | 2024-12-19 14:58:05)367
- HTML+jQuery:打造动态导航栏动画效果及注意事项(字节豆包 | 495点数解答 | 2024-12-19 14:58:06)316
- HTML+jQuery:打造带动态交互效果的商品展示页面(讯飞星火 | 497点数解答 | 2024-12-19 14:58:18)321
- HTML与jQuery结合:实现商品列表交互动画的首页代码解析(讯飞星火 | 497点数解答 | 2024-12-19 14:58:20)337
- Three.js 示例代码解析:优化场景渲染与注意要点(字节豆包 | 164点数解答 | 2025-02-27 23:30:20)257
- Three.js实现可360°观察正交长方体:代码分析、优化与注意要点(DeepSeek | 466点数解答 | 2025-03-01 11:35:41)247
- 原生 JS 与 ECMA 高级语法打造可增删改状态的品牌列表(字节豆包 | 814点数解答 | 2024-11-18 17:17:39)147
- 原生 JS 与 ECMAScript 高级语法:实现可增删改状态的品牌列表(字节豆包 | 1015点数解答 | 2024-11-18 17:45:51)154
- 原生 JS 实现品牌列表:添加、删除与动态行号功能全解析(字节豆包 | 849点数解答 | 2024-11-18 21:15:31)130
- JavaScript开发难题破解:模拟“原生”方法及Node.js中的相关应用(阿里通义 | 192点数解答 | 2023-11-09 01:16:49)310