JS(JavaScript)事件处理(事件绑定)趣味案例


天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


谁家玉笛暗飞声,散入春风满洛城。
此夜曲中闻折柳,何人不起故园情。
——《春夜洛城闻笛》


文章目录

  • JS(JavaScript)事件处理(事件绑定)趣味案例
    • 1. 创建表格
      • 1.1 示例代码
      • 1.2 页面效果
    • 2. 创建表单
      • 2.1 示例代码
      • 2.2 页面效果
    • 3. 添加样式
      • 3.1 示例代码
      • 3.2 页面效果
    • 4. 表格中的事件绑定
      • 4.1 示例代码
      • 4.2 页面效果
    • 5. 表单中的事件绑定
      • 5.1 示例代码
      • 5.2 页面效果
    • 6. 复选框功能实现
      • 6.1 示例代码
      • 6.2 页面效果
    • 7. 示例代码下载


JS(JavaScript)入门指南
JS(JavaScript)入门指南(DOM、事件处理、BOM、数据校验)
JS(JavaScript)学习专栏


JS(JavaScript)事件处理(事件绑定)趣味案例

通过创建一个页面来实现事件处理相关的操作,以下为实例演示部分,主要针对dom操作表格以及事件相关的操作。

1. 创建表格

创建一个表格,表格每行最后有一个按钮,按钮为删除当前行的事件
表格页脚有两个按钮:首行删除和末行删除

1.1 示例代码

示例代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>使用dom操作表格-创建一个表格</title></head>
<body><!-- 将表格放到div块中,方便后续操作 --><div id="container"><!-- 表格 --><table id="tt"><!-- 表头 --><thead><tr><th>召唤师</th><th>英雄</th><th>定位</th><th>金币</th><th>技能</th></tr></thead><!-- 表格体 --><tbody id="tb"><tr><th>寒山</th><th>李白</th><th>刺客</th><th>38000</th><th><input type="button" value="惊鸿一剑" class="del"></th></tr><tr><th>李四</th><th>廉颇</th><th>坦克</th><th>11800</th><th><input type="button" value="地动山摇" class="del"></th></tr><tr><th>赵五</th><th>貂蝉</th><th>法师</th><th>38000</th><th><input type="button" value="随风起舞" class="del"></th></tr><tr><th>王二</th><th>后羿</th><th>射手</th><th>8800</th><th><input type="button" value="百步穿杨" class="del"></th></tr></tbody><!-- 表格页脚 --><tfoot><tr><td colspan="5"><input type="button" value="从首行删除" id="btnDelFirst"><input type="button" value="从末行删除" id="btnDelLast"></td></tr></tfoot></table></div>
</body>
</html>

1.2 页面效果

使用浏览器打开页面,效果如下,此时按钮并未生效,需要后续绑定事件
在这里插入图片描述

2. 创建表单

在前面表格的基础上,创建一个表单,表单中设置的是input输入,有文本、单选、按钮,用来对上面的表格进行数据的操作

2.1 示例代码

表单示例代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>使用dom操作表格-创建一个form表单</title></head>
<body><div id="container"><!-- 表格 --><table id="tt"><!-- 表头 --><thead><tr><th>召唤师</th><th>英雄</th><th>定位</th><th>金币</th><th>技能</th></tr></thead><!-- 表格体 --><tbody id="tb"><tr><th>寒山</th><th>李白</th><th>刺客</th><th>38000</th><th><input type="button" value="惊鸿一剑" class="del"></th></tr><tr><th>李四</th><th>廉颇</th><th>坦克</th><th>11800</th><th><input type="button" value="地动山摇" class="del"></th></tr><tr><th>赵五</th><th>貂蝉</th><th>法师</th><th>38000</th><th><input type="button" value="随风起舞" class="del"></th></tr><tr><th>王二</th><th>后羿</th><th>射手</th><th>8800</th><th><input type="button" value="百步穿杨" class="del"></th></tr></tbody><!-- 表格页脚 --><tfoot><tr><td colspan="5"><input type="button" value="从首行删除" id="btnDelFirst"><input type="button" value="从末行删除" id="btnDelLast"></td></tr></tfoot></table><hr><!-- form表单创建 --><form action="" id="formId">召唤师:<input type="text" id="name"><br>英雄:<input type="text" id="heroName"><br>定位:<input type="radio" name="actor" value="tank" id="tank" checked> 坦克 <input type="radio" name="actor" value="warrior" id="warrior"> 战士 <input type="radio" name="actor" value="assassin" id="assassin"> 刺客<input type="radio" name="actor" value="master" id="master"> 法师<input type="radio" name="actor" value="shooter" id="shooter"> 射手<input type="radio" name="actor" value="addjunct" id="addjunct"> 辅助<br> 价格:<input type="text" id="price"><br>技能:<input type="text" id="func"><br><input type="button" value="添  加" id="btnAdd"><input type="button" value="重  置"></form></div></body>
</html>

2.2 页面效果

使用浏览器打开页面,如下,表单中的事件也并未绑定,暂时无效
在这里插入图片描述

3. 添加样式

为表格和表单添加样式,优化以下视觉效果

3.1 示例代码

示例代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>使用dom操作表格-为表格和表单添加样式</title><style>/* 设置整个div块在页面中的位置 */#container{/* 居中 */text-align: center;}/* 设置table表格的样式 */#tt{/* 宽度 */width: 500px;/* 居中 */text-align: center;/* 边界设置 实线 灰色 */border: 1px solid #ccc;/* 边框设置 上下设为0 左右设为自动 */margin: 0 auto;}/* table下的td和th样式设置 */#tt td, #tt th{/* 边界设置 实线 灰色 */border: 1px solid #ccc;}/* table下的页脚的td样式设置 */#tt tfoot td{/* 靠右 */text-align: right;}/* 表单的样式设置 */#formId{/* 每行的间隔设置 */line-height: 30px;}</style></head>
<body><div id="container"><!-- 表格 --><table id="tt"><!-- 表头 --><thead><tr><th>召唤师</th><th>英雄</th><th>定位</th><th>金币</th><th>技能</th></tr></thead><!-- 表格体 --><tbody id="tb"><tr><th>寒山</th><th>李白</th><th>刺客</th><th>38000</th><th><input type="button" value="惊鸿一剑" class="del"></th></tr><tr><th>李四</th><th>廉颇</th><th>坦克</th><th>11800</th><th><input type="button" value="地动山摇" class="del"></th></tr><tr><th>赵五</th><th>貂蝉</th><th>法师</th><th>38000</th><th><input type="button" value="随风起舞" class="del"></th></tr><tr><th>王二</th><th>后羿</th><th>射手</th><th>8800</th><th><input type="button" value="百步穿杨" class="del"></th></tr></tbody><!-- 表格页脚 --><tfoot><tr><td colspan="5"><input type="button" value="从首行删除" id="btnDelFirst"><input type="button" value="从末行删除" id="btnDelLast"></td></tr></tfoot></table><hr><!-- form表单创建 --><form action="" id="formId">召唤师:<input type="text" id="name"><br>英雄:<input type="text" id="heroName"><br>定位:<input type="radio" name="actor" value="tank" id="tank" checked> 坦克 <input type="radio" name="actor" value="warrior" id="warrior"> 战士 <input type="radio" name="actor" value="assassin" id="assassin"> 刺客<input type="radio" name="actor" value="master" id="master"> 法师<input type="radio" name="actor" value="shooter" id="shooter"> 射手<input type="radio" name="actor" value="addjunct" id="addjunct"> 辅助<br> 价格:<input type="text" id="price"><br>技能:<input type="text" id="func"><br><input type="button" value="添  加" id="btnAdd"><input type="button" value="重  置"></form></div></body>
</html>

3.2 页面效果

使用浏览器打开页面,如下,看起来好一点点
在这里插入图片描述

4. 表格中的事件绑定

先为表格中的按钮绑定事件,编写js代码

4.1 示例代码

示例代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>使用dom操作表格-为表格中的按钮绑定事件</title><style>/* 设置整个div块在页面中的位置 */#container{/* 居中 */text-align: center;}/* 设置table表格的样式 */#tt{/* 宽度 */width: 500px;/* 居中 */text-align: center;/* 边界设置 实线 灰色 */border: 1px solid #ccc;/* 边框设置 上下设为0 左右设为自动 */margin: 0 auto;}/* table下的td和th样式设置 */#tt td, #tt th{/* 边界设置 实线 灰色 */border: 1px solid #ccc;}/* table下的页脚的td样式设置 */#tt tfoot td{/* 靠右 */text-align: right;}/* 表单的样式设置 */#formId{/* 每行的间隔设置 */line-height: 30px;}</style><script>//页面加载完之后触发事件window.onload=function(){//为技能按钮绑定事件(删除,点击技能释放大招,删除当前行)var btFuns = document.querySelectorAll(".del");//遍历所有按钮,移出当前行,即trfor(var i=0;i<btFuns.length;i++){btFuns[i].onclick=function(){//当前获取的位置是input标签,其父标签的父标签为tr标签this.parentNode.parentNode.remove();}}//为首行删除按钮绑定事件$("btnDelFirst").onclick=function(){//通过获取tb的document对象,然后通过标签tr获取集合,删除第一个tr$("tb").getElementsByTagName("tr")[0].remove();}//为末行删除按钮绑定事件$("btnDelLast").onclick=function(){//获取tb下的tr集合var trs = $("tb").getElementsByTagName("tr");//移出最后一个trtrs[trs.length-1].remove();;}}//获取元素的函数function $(id){return document.getElementById(id);}</script></head>
<body><div id="container"><!-- 表格 --><table id="tt"><!-- 表头 --><thead><tr><th>召唤师</th><th>英雄</th><th>定位</th><th>金币</th><th>技能</th></tr></thead><!-- 表格体 --><tbody id="tb"><tr><th>寒山</th><th>李白</th><th>刺客</th><th>38000</th><th><input type="button" value="惊鸿一剑" class="del"></th></tr><tr><th>李四</th><th>廉颇</th><th>坦克</th><th>11800</th><th><input type="button" value="地动山摇" class="del"></th></tr><tr><th>赵五</th><th>貂蝉</th><th>法师</th><th>38000</th><th><input type="button" value="随风起舞" class="del"></th></tr><tr><th>王二</th><th>后羿</th><th>射手</th><th>8800</th><th><input type="button" value="百步穿杨" class="del"></th></tr></tbody><!-- 表格页脚 --><tfoot><tr><td colspan="5"><input type="button" value="从首行删除" id="btnDelFirst"><input type="button" value="从末行删除" id="btnDelLast"></td></tr></tfoot></table><hr><!-- form表单创建 --><form action="" id="formId">召唤师:<input type="text" id="name"><br>英雄:<input type="text" id="heroName"><br>定位:<input type="radio" name="actor" value="tank" id="tank" checked> 坦克 <input type="radio" name="actor" value="warrior" id="warrior"> 战士 <input type="radio" name="actor" value="assassin" id="assassin"> 刺客<input type="radio" name="actor" value="master" id="master"> 法师<input type="radio" name="actor" value="shooter" id="shooter"> 射手<input type="radio" name="actor" value="addjunct" id="addjunct"> 辅助<br> 价格:<input type="text" id="price"><br>技能:<input type="text" id="func"><br><input type="button" value="添  加" id="btnAdd"><input type="button" value="重  置"></form></div></body>
</html>

4.2 页面效果

使用浏览器打开页面,如下,此时可以点击技能框里的技能进行删除当前行,也可以点击右下角的首行删除和末行删除进行首行和末行的删除
在这里插入图片描述
在这里插入图片描述

5. 表单中的事件绑定

5.1 示例代码

示例代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>使用dom操作表格-为表单中的按钮绑定事件</title><style>/* 设置整个div块在页面中的位置 */#container{/* 居中 */text-align: center;/* background-color: lightblue; */}/* 设置table表格的样式 */#tt{/* 宽度 */width: 500px;/* 居中 */text-align: center;/* 边界设置 实线 灰色 */border: 1px solid #ccc;/* 边框设置 上下设为0 左右设为自动 */margin: 0 auto;/* 表格背景色 *//* background-color: lightblue; */}/* table下的td和th样式设置 */#tt td, #tt th{/* 边界设置 实线 灰色 */border: 1px solid #ccc;}/* table下的页脚的td样式设置 */#tt tfoot td{/* 靠右 */text-align: right;}/* 表单的样式设置 */#formId{/* 每行的间隔设置 */line-height: 30px;}</style><script>//页面加载完之后触发事件window.onload=function(){//为添加按钮绑定事件// document.getElementById("btnAdd")$("btnAdd").onclick=function(){//创建trvar tr = document.createElement("tr");//创建tdvar tdName = document.createElement("td");var tdHeroName = document.createElement("td");var tdActor = document.createElement("td");var tdPrice = document.createElement("td");var tdFun = document.createElement("td");//将数据添加到td中tdName.innerHTML=$("name").value;tdHeroName.innerHTML=$("heroName").value;// tdActor.innerHTML=$("actor").value;//根据勾选的位置将对应的值填入定位一栏if($("tank").checked){tdActor.innerHTML=$("tank").value;}if($("warrior").checked){tdActor.innerHTML=$("warrior").value;}if($("assassin").checked){tdActor.innerHTML=$("assassin").value;}if($("master").checked){tdActor.innerHTML=$("master").value;}if($("shooter").checked){tdActor.innerHTML=$("shooter").value;}if($("addjunct").checked){tdActor.innerHTML=$("addjunct").value;}tdPrice.innerHTML=$("price").value;// tdFun.innerHTML=$("func").value;//创建按钮var btnFun = document.createElement("input");btnFun.type = "button";btnFun.value = $("func").value;//为按钮绑定事件用于删除btnFun.onclick = function(){this.parentNode.parentNode.remove();}tdFun.appendChild(btnFun);//将td添加到tr中tr.appendChild(tdName);tr.appendChild(tdHeroName);tr.appendChild(tdActor);tr.appendChild(tdPrice);tr.appendChild(tdFun);//将tr添加到tbody中$("tb").appendChild(tr);}//为技能按钮绑定事件(删除,点击技能释放大招,删除当前行)var btFuns = document.querySelectorAll(".del");//遍历所有按钮,移出当前行,即trfor(var i=0;i<btFuns.length;i++){btFuns[i].onclick=function(){//当前获取的位置是input标签,其父标签的父标签为tr标签this.parentNode.parentNode.remove();}}//为首行删除按钮绑定事件$("btnDelFirst").onclick=function(){//通过获取tb的document对象,然后通过标签tr获取集合,删除第一个tr$("tb").getElementsByTagName("tr")[0].remove();}//为末行删除按钮绑定事件$("btnDelLast").onclick=function(){//获取tb下的tr集合var trs = $("tb").getElementsByTagName("tr");//移出最后一个trtrs[trs.length-1].remove();;}}//获取元素的函数function $(id){return document.getElementById(id);}</script></head>
<body><div id="container"><!-- 表格 --><table id="tt"><!-- 表头 --><thead><tr><th>召唤师</th><th>英雄</th><th>定位</th><th>金币</th><th>技能</th></tr></thead><!-- 表格体 --><tbody id="tb"><tr><th>寒山</th><th>李白</th><th>刺客</th><th>38000</th><th><input type="button" value="惊鸿一剑" class="del"></th></tr><tr><th>李四</th><th>廉颇</th><th>坦克</th><th>11800</th><th><input type="button" value="地动山摇" class="del"></th></tr><tr><th>赵五</th><th>貂蝉</th><th>法师</th><th>38000</th><th><input type="button" value="随风起舞" class="del"></th></tr><tr><th>王二</th><th>后羿</th><th>射手</th><th>8800</th><th><input type="button" value="百步穿杨" class="del"></th></tr></tbody><!-- 表格页脚 --><tfoot><tr><td colspan="5"><input type="button" value="从首行删除" id="btnDelFirst"><input type="button" value="从末行删除" id="btnDelLast"></td></tr></tfoot></table><hr><!-- form表单创建 --><form action="" id="formId">召唤师:<input type="text" id="name"><br>英雄:<input type="text" id="heroName"><br>定位:<input type="radio" name="actor" value="tank" id="tank" checked> 坦克 <input type="radio" name="actor" value="warrior" id="warrior"> 战士 <input type="radio" name="actor" value="assassin" id="assassin"> 刺客<input type="radio" name="actor" value="master" id="master"> 法师<input type="radio" name="actor" value="shooter" id="shooter"> 射手<input type="radio" name="actor" value="addjunct" id="addjunct"> 辅助<br> 价格:<input type="text" id="price"><br>技能:<input type="text" id="func"><br><input type="button" value="添  加" id="btnAdd"><input type="button" value="重  置"></form></div></body>
</html>

5.2 页面效果

使用浏览器打开页面,如下,此时可以填写召唤师、英雄、价格、技能,然后勾选定位的位置,进行添加信息到表格中
在这里插入图片描述
在这里插入图片描述

6. 复选框功能实现

在每行最前面加上复选框按钮,最上面的按钮是全选按钮。
全选按钮选中后,下方所有复选框都自动勾选,反之亦然。
下方复选框全部勾选后,全选按钮的复选框自动勾选。
对新增的行也要满足。
在复选框那列最先放设置删除所勾选的内容按钮,可删除所有勾选的内容。

6.1 示例代码

示例代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>使用dom操作表格-添加复选框并绑定事件</title><style>/* 设置整个div块在页面中的位置 */#container{/* 居中 */text-align: center;/* background-color: lightblue; */}/* 设置table表格的样式 */#tt{/* 宽度 */width: 500px;/* 居中 */text-align: center;/* 边界设置 实线 灰色 */border: 1px solid #ccc;/* 边框设置 上下设为0 左右设为自动 */margin: 0 auto;/* 表格背景色 *//* background-color: lightblue; */}/* table下的td和th样式设置 */#tt td, #tt th{/* 边界设置 实线 灰色 */border: 1px solid #ccc;}/* table下的页脚的td样式设置 */#tt tfoot td{/* 靠右 */text-align: right;}/* 表单的样式设置 */#formId{/* 每行的间隔设置 */line-height: 30px;}/* 复选框删除按钮样式设置 */#tt tfoot tr td{text-align: center;}</style><script>//页面加载完之后触发事件window.onload=function(){//为添加按钮绑定事件// document.getElementById("btnAdd")$("btnAdd").onclick=function(){//创建trvar tr = document.createElement("tr");//创建tdvar tdName = document.createElement("td");var tdHeroName = document.createElement("td");var tdActor = document.createElement("td");var tdPrice = document.createElement("td");var tdFun = document.createElement("td");//添加复选框var tdCheckbox = document.createElement("td");//将数据添加到td中tdName.innerHTML=$("name").value;tdHeroName.innerHTML=$("heroName").value;// tdActor.innerHTML=$("actor").value;//根据勾选的位置将对应的值填入定位一栏if($("tank").checked){tdActor.innerHTML=$("tank").value;}if($("warrior").checked){tdActor.innerHTML=$("warrior").value;}if($("assassin").checked){tdActor.innerHTML=$("assassin").value;}if($("master").checked){tdActor.innerHTML=$("master").value;}if($("shooter").checked){tdActor.innerHTML=$("shooter").value;}if($("addjunct").checked){tdActor.innerHTML=$("addjunct").value;}tdPrice.innerHTML=$("price").value;// tdFun.innerHTML=$("func").value;//创建按钮var btnFun = document.createElement("input");btnFun.type = "button";btnFun.value = $("func").value;//为按钮绑定事件用于删除btnFun.onclick = function(){this.parentNode.parentNode.remove();}tdFun.appendChild(btnFun);//为复选框添加属性var checkboxInfo = document.createElement("input");checkboxInfo.type="checkbox";checkboxInfo.className="checkboxed";checkboxInfo.onclick=function(){var checks = document.querySelectorAll(".checkboxed");//统计已选中的数量var count = 0;for(var j=0; j<checks.length; j++){if(checks[j].checked){count++;}}//判断是否全部选中if(count==checks.length){$("all").checked=true;}else{$("all").checked=false;}};//将复选框的input标签添加到td中tdCheckbox.appendChild(checkboxInfo);//将td添加到tr中tr.appendChild(tdCheckbox);tr.appendChild(tdName);tr.appendChild(tdHeroName);tr.appendChild(tdActor);tr.appendChild(tdPrice);tr.appendChild(tdFun);//将tr添加到tbody中$("tb").appendChild(tr);};//为技能按钮绑定事件(删除,点击技能释放大招,删除当前行)var btFuns = document.querySelectorAll(".del");//遍历所有按钮,移出当前行,即trfor(var i=0;i<btFuns.length;i++){btFuns[i].onclick=function(){//当前获取的位置是input标签,其父标签的父标签为tr标签this.parentNode.parentNode.remove();}}//为首行删除按钮绑定事件$("btnDelFirst").onclick=function(){//通过获取tb的document对象,然后通过标签tr获取集合,删除第一个tr$("tb").getElementsByTagName("tr")[0].remove();};//为末行删除按钮绑定事件$("btnDelLast").onclick=function(){//获取tb下的tr集合var trs = $("tb").getElementsByTagName("tr");//移出最后一个trtrs[trs.length-1].remove();;};// 为全选绑定事件$("all").onclick=function(){//如果全选框勾上,触发事件所有复选框全部选中if($("all").checked){var checkeds = document.querySelectorAll(".checkboxed");for(var i=0; i<checkeds.length; i++){checkeds[i].checked=true;}}else{var checkeds = document.querySelectorAll(".checkboxed");for(var i=0; i<checkeds.length; i++){checkeds[i].checked=false;}}};//实现选中所有复选框时,全选自动勾选var checks = document.querySelectorAll(".checkboxed");for(var i=0; i<checks.length; i++){checks[i].onclick=function(){var checks = document.querySelectorAll(".checkboxed");//统计已选中的数量var count = 0;for(var j=0; j<checks.length; j++){if(checks[j].checked){count++;}}//判断是否全部选中if(count==checks.length){$("all").checked=true;}else{$("all").checked=false;}};}//为删除所勾选内容的按钮绑定事件$("delChecked").onclick=function(){var checks = document.querySelectorAll(".checkboxed");for(var i=0; i<checks.length; i++){if(checks[i].checked){checks[i].parentNode.parentNode.remove();}}}};//获取元素的函数function $(id){return document.getElementById(id);}</script></head>
<body><div id="container"><!-- 表格 --><table id="tt"><!-- 表头 --><thead><tr><th>全选 <input type="checkbox" id="all"></th><th>召唤师</th><th>英雄</th><th>定位</th><th>金币</th><th>技能</th></tr></thead><!-- 表格体 --><tbody id="tb"><tr><th><input type="checkbox" class="checkboxed"></th><th>寒山</th><th>李白</th><th>刺客</th><th>38000</th><th><input type="button" value="惊鸿一剑" class="del"></th></tr><tr><th><input type="checkbox" class="checkboxed"></th><th>李四</th><th>廉颇</th><th>坦克</th><th>11800</th><th><input type="button" value="地动山摇" class="del"></th></tr><tr><th><input type="checkbox" class="checkboxed"></th><th>赵五</th><th>貂蝉</th><th>法师</th><th>38000</th><th><input type="button" value="随风起舞" class="del"></th></tr><tr><th><input type="checkbox" class="checkboxed"></th><th>王二</th><th>后羿</th><th>射手</th><th>8800</th><th><input type="button" value="百步穿杨" class="del"></th></tr></tbody><!-- 表格页脚 --><tfoot><tr><td><input type="button" value="删除所勾选内容" id="delChecked"></td><td colspan="5"><input type="button" value="从首行删除" id="btnDelFirst"><input type="button" value="从末行删除" id="btnDelLast"></td></tr></tfoot></table><hr><!-- form表单创建 --><form action="" id="formId">召唤师:<input type="text" id="name"><br>英雄:<input type="text" id="heroName"><br>定位:<input type="radio" name="actor" value="tank" id="tank" checked> 坦克 <input type="radio" name="actor" value="warrior" id="warrior"> 战士 <input type="radio" name="actor" value="assassin" id="assassin"> 刺客<input type="radio" name="actor" value="master" id="master"> 法师<input type="radio" name="actor" value="shooter" id="shooter"> 射手<input type="radio" name="actor" value="addjunct" id="addjunct"> 辅助<br> 价格:<input type="text" id="price"><br>技能:<input type="text" id="func"><br><input type="button" value="添  加" id="btnAdd"><input type="button" value="重  置"></form></div></body>
</html>

6.2 页面效果

使用浏览器打开页面,如下
在这里插入图片描述

7. 示例代码下载

本文示例代码文件已上传至CSDN资源库
下载地址:JavaScript 趣味案例-事件处理-dom操作表格 示例代码


感谢阅读,祝君暴富!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/37113.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

创新前沿:Web3如何颠覆传统计算机模式

随着Web3技术的快速发展&#xff0c;传统的计算机模式正面临着前所未有的挑战和改变。本文将深入探讨Web3技术的定义、原理以及它如何颠覆传统计算机模式&#xff0c;以及对全球科技发展的潜在影响。 1. 引言&#xff1a;Web3技术的兴起与背景 Web3不仅仅是技术创新的一种&…

QT中的样式表.qss文件

一、前言 qt中样式表的改变有几种方法&#xff0c;第一种就是直接在ui界面对应的组件右键修改样式表&#xff0c;还有一种就是直接在程序里面修改样式表&#xff0c;我知道的还有一种就是qss文件&#xff0c;这个文件就是将在程序中写的修改样式表的语句写道qss文件中&#xff…

次世代霍尔电磁摇杆搭配磁悬浮马达,这款手柄手感超丝滑,谷粒金刚3Pro体验

燥热的天气里&#xff0c;周末在家打上几局游戏&#xff0c;确实更容易放松身心&#xff0c;玩游戏的时候&#xff0c;键鼠、手柄一类的游戏外设特别重要&#xff0c;对我们的游戏体验影响很大&#xff0c;所以挑选起来总是格外挑剔。现在国产的游戏手柄已经今非昔比了&#xf…

grpc学习golang版(八、双向流示例)

系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 第五章 多proto文件示例 第六章 服务器流式传输 第七章 客户端流式传输 第八章 双向流示例 文章目录 一、前言二、定义proto文件三、编写server服务端四、编写client客…

YouTube广告投放指南:如何投放 YouTube视频广告

在海外广告投放中&#xff0c;YOutube是重要的渠道之一。这篇文章Maskfog将为你介绍Youtube广告类型以及广告投放流程&#xff0c;继续看下去&#xff01; YouTube 视频广告的类型 1.信息流视频广告 信息流视频广告显示在 YouTube 主页、搜索结果页面上&#xff0c;并作为 Yo…

餐饮点餐系统

餐饮点餐系统是一款为餐厅和顾客提供便捷点餐服务的在线平台。 1.DDL CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY COMMENT 用户ID,username VARCHAR(50) NOT NULL UNIQUE COMMENT 用户名,password VARCHAR(255) NOT NULL COMMENT 密码,email VARCHAR(100) UNIQUE…

python爬虫之scrapy框架基本使用

python爬虫之scrapy框架基本使用 1、环境安装&#xff1a;pip install scrapy 2、创建一个工程&#xff1a;scrapy startproject xxxPro 3、cd xxxPro 4、在spiders子目录中创建一个爬虫文件&#xff1a;scrapy genspider spiderName www.xxx.com 5、执行工程&#xff1a;scra…

3DEXPERIENCE平台正在推动仿真技术的创新,旨在创造仿真设计的新境界

随着企业数字化转型的不断推进&#xff0c;3DEXPERIENCE 平台正以其前瞻性的技术和服务重塑仿真设计领域的新高度&#xff0c;助力企业实现仿真技术的再次飞跃。该平台不仅整合了先进的仿真工具与设计流程&#xff0c;还促进了跨部门的协作&#xff0c;降低分析仿真对硬件的要求…

远程桌面无法复制粘贴文件到本地怎么办?

远程桌面不能复制粘贴问题 Windows远程桌面为我们提供了随时随地访问文件和数据的便捷途径&#xff0c;大大提升了工作和生活的效率。然而&#xff0c;在使用过程中&#xff0c;我们也可能遇到一些问题。例如&#xff0c;在通过远程桌面传输文件时&#xff0c;常常会出现无法复…

突破SaaS产品运营困境:多渠道运营如何集中管理?

随着数字化时代的到来&#xff0c;SaaS&#xff08;软件即服务&#xff09;产品已成为企业日常运营不可或缺的工具。然而&#xff0c;在竞争激烈的市场环境下&#xff0c;SaaS产品运营越来越重视多渠道、多平台布局&#xff0c;以更广泛地触及潜在用户&#xff0c;然而&#xf…

Android Native 客户端属性配置系统使用说明

Android Native 客户端属性配置系统使用说明 背景和问题现代 android 开发基本都基于 gradle 属性设置来进行定制化编译,随着项目的迭代,工程结构越发复杂,配置属性越来越多,越来越多的配置使得上手难度越来越大。 解决方案设计一般而言,在 android 开发中,Gradle 属性系…

新国都:昙花一现or未来可期?

从波动起伏到强势爆发&#xff0c;这份业绩能否持续&#xff1f; 今天我们抽取一名铁杆粉丝想要咨询的公司来说一说——新国都。 一句话总结这家以第三方支付为主营业务的公司业绩&#xff1a;盈利能力突然爆发&#xff0c;23年净利润暴增近16倍&#xff0c;24年Q1净利润大增6…

mysql解压版本安装5.7

1. 官网下载好解压版本 我这边5.7版本 https://dev.mysql.com/downloads/file/?id523570 mysql官网 创建 my.ini文件 内容如下 [client] #客户端设置&#xff0c;即客户端默认的连接参数# socket /data/mysqldata/3306/mysql.sock #用于本地连接的socket套接字 # 默…

ASP.NET MVC-简单例子-配置日志文件-log4net

环境&#xff1a; win10&#xff0c;SQL Server 2008 R2 安装 使用NuGet 安装时发现报错并无法安装&#xff1a; 现有 packages.config 文件中检测到一个或多个未解析包依赖项约束。必须解析所有依赖项约束以添加或更新包。如果正在更新这些包&#xff0c;则可忽略此消息&am…

Linux命令 wc(word count)-l(lines)用于统计文件中的行数。

文章目录 1、wc -l2、实战3、wc --help 1、wc -l 在命令 wc -l 中&#xff0c;-l 的英文全称是 lines。这个选项用于指定 wc&#xff08;word count&#xff0c;单词计数&#xff09;命令来统计文件的行数。 例如&#xff0c;当你运行 wc -l load_user_100w_sort.sql 时&…

操作系统之《PV操作》【知识点+详细解题过程】

1、并发进程 &#xff1a; 并发的实质是一个处理器在几个进程之间的多路复用&#xff0c;并发是对有限的物理资源强制行使多用户共享&#xff0c;消除计算机部件之间的互等现象&#xff0c;以提高系统资源利用率。 &#xff08;1&#xff09;并发进程——互斥性&#xff1a; 进…

【pytorch10】统计属性

常见统计属性 norm&#xff08;范数&#xff09;mean,sumprodmax&#xff0c;min&#xff0c;argmin&#xff0c;argmaxkthvalue&#xff0c;topk kthvalue求第几个的位置和第几个的值 topk求top几的这样的一个数值 norm范数 这里的norm表达的是范数的意思&#xff0c;norma…

GRS认证流程是什么?

GRS认证的认证流程主要包括以下几个步骤&#xff1a; 1. 提交申请 首先&#xff0c;企业需要向GRS认证机构提交认证申请&#xff0c;并提供相关的企业信息和产品信息。这通常包括企业的基本信息、生产工厂信息、产品范围、生产流程等。 2. 合同评审 认证机构会对企业提交的…

GEOS学习笔记(一)

下载编译GEOS 从Download and Build | GEOS (libgeos.org)下载geos-3.10.6.tar.bz2 使用cmake-3.14.0版本配置VS2015编译 按默认配置生成VS工程文件 编译后生成geos.dll&#xff0c;geos_c.dll 后面学习使用C接口进行编程

基于MATLAB对线阵天线进行道尔夫—切比雪夫加权

相控阵天线——基于MATLAB对线阵进行道尔夫—切比雪夫加权 目录 前言 一、阵列天线的综合 二、道尔夫—切比雪夫综合 三、单元间距的改变对切比雪夫阵列方向图的影响 四、单元数的改变对切比雪夫阵列激励分布的影响 五、副瓣电平SLL对切比雪夫阵列激励幅度的影响 六、副…