1、fruit.html
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>js-DOM/BOM实战title>
<link href="style/fruit.css" rel="stylesheet">link>
<script src="js/鼠标悬浮和离开事件.js">script>
<div id="div_title">欢迎使用水果库存系统div>
<th class="w10"><input type="checkbox" id="ckAll"/>th>
<th class="w10"><input type="button" value="批量删除" id="delsBtn"/>th>
<td><input type="checkbox" name="ck"/>td>
<td><img src='imgs/del.png' class="delBtn"/>td>
<td><input type="checkbox" name="ck"/>td>
<td><img src='imgs/del.png' class="delBtn"/>td>
<td><input type="checkbox" name="ck"/>td>
<td><img src='imgs/del.png' class="delBtn"/>td>
<td><input type="checkbox" name="ck"/>td>
<td><img src='imgs/del.png' class="delBtn"/>td>
<td><input type="checkbox" name="ck"/>td>
<td><img src='imgs/del.png' class="delBtn"/>td>
<td><input type="checkbox" name="ck"/>td>
<td><img src='imgs/del.png' class="delBtn"/>td>
<td><input type="checkbox" name="ck"/>td>
<td><img src='imgs/del.png' class="delBtn"/>td>
<td><input type="checkbox" name="ck"/>td>
<td><img src='imgs/del.png' class="delBtn"/>td>
<table id="fruit_add_tbl">
<td><input type="text" id="fname"/>td>
<td><input type="text" id="price"/>td>
<td><input type="text" id="fcount"/>td>
<input type="button" value="确定"/>
<input type="reset" value="重填"/>

2、fruit.css
background-color: rgb(3, 31, 2);
background-color: rgb(209, 230, 235);
#fruit_tbl , #fruit_tbl td, #fruit_tbl th {
border:1px solid lightgray;
border-collapse: collapse;
border:1px solid lightgray;
border: 1px solid lightgray;
border-collapse: collapse;
#fruit_add_tbl th,#fruit_add_tbl td {
border: 1px solid lightgrey;
#fruit_add_tbl input[type="button"],#fruit_add_tbl input[type="reset"] {
border: 1px solid lightgray;
#fruit_add_tbl input[type="text"] {
border: 1px solid lightgray;

3、fruit.js
if (name.startsWith("#")) {
name = name.substring(1);
return document.getElementById(name);
return document.getElementsByName(name);
window.onload = function () {
let fruitTbl = $("#fruit_tbl");
let rows = fruitTbl.rows;
for (let i = 1; i < rows.length - 1; i++) {
tr.onmouseover = showBGColor;
tr.onmouseout = clearBGColor;
priceTD.onmouseover = showHand;
priceTD.onclick = editPrice
let delImg = delImgTd.firstChild;
delImg.onmouseover = showHand;
delImg.onclick = delFruit;
ckAll.onchange = myCkAll;
ckArr.forEach((item, index) => {
const delsBtn = $("#delsBtn");
delsBtn.onclick = delFruits;
delFruits = function () {
if (confirm("是否确认批量删除?")) {
let fruitTbl = $("#fruit_tbl");
let rows = fruitTbl.rows;
for (let i = rows.length - 3; i >= 0; i--) {
let rowIndex = ckArr[i].parentElement.parentElement.rowIndex;
fruitTbl.deleteRow(rowIndex);
let ck = event.srcElement;
$("#ckAll").checked = false;
let ckArr2 = Array.from(ckArr);
$("#ckAll").checked = ckArr2.every(item => item.checked);
let flag = ckAll.checked;
for (let i = 0; i < ckArr.length; i++) {
if (window.confirm("是否删除?")) {
let fruitTbl = $("#fruit_tbl");
let delImg = event.srcElement;
if (delImg && delImg.tagName == "IMG") {
let tr = delImg.parentElement.parentElement;
let rowIndex = tr.rowIndex;
fruitTbl.deleteRow(rowIndex);
editPrice = function () {
let priceTD = event.srcElement;
let oldPrice = priceTD.innerText;
let priceInput = priceTD.firstChild;
priceInput.value = oldPrice;
priceInput.onblur = updatePrice;
priceInput.onkeydown = ckInput;
if (!((kc >= 48 && kc <= 57) || kc == 8 || kc == 13)) {
event.returnValue = false;
updatePrice = function () {
let priceInput = event.srcElement;
let newPrice = priceInput.value;
let priceTD = priceInput.parentElement;
priceTD.innerText = newPrice;
xj(priceTD.parentElement)
if (tr && tr.tagName == "TR") {
let price = parseInt(priceTD.innerText);
let fcount = parseInt(fcountTD.innerText);
let fruitTbl = $("#fruit_tbl");
let rows = fruitTbl.rows;
for (let i = 1; i < rows.length - 1; i++) {
let xj = parseInt(tr.cells[4].innerText);
rows[rows.length - 1].cells[1].innerText = total;
let priceTD = event.srcElement;
priceTD.style.cursor = "pointer";
let obj = window.event.srcElement;
if (obj.tagName == "TD") {
let tr = td.parentElement;
tr.style.backgroundColor = "purple";
for (let i = 0; i < tds.length; i++) {
tds[i].style.color = "white";
function clearBGColor() {
let td = window.event.srcElement;
if (td.tagName == "TD") {
let tr = td.parentElement;
tr.style.backgroundColor = "transparent";
for (let i = 0; i < tds.length; i++) {
tds[i].style.color = "#031f02";

