IE中<table>标签不支持appendChild()方法

<html>
<head>
<title>JS测试</title>
<script type="text/javascript">
var num = 2;
function addRow(){
var tr = document.createElement("tr");
var td = document.createElement("td");
var te = document.createTextNode('row '+num++);
td.appendChild(te);
tr.appendChild(td);
var table = document.getElementById("table");
if(tbody.rows.length == 6){
alert('不能加了!');
}else{
table.appendChild(tr);
}
}
</script>
</head>
<body">
<table id="table">
<tr id="n">
<th>行数</th>
</tr>
<tr>
<td>row 1</td>
</tr>
</table>
<input type="button" value="Button" οnclick="addRow();">
</body>
</html>

上面JS代码不能向<table>中添加行,因为IE中<table>标签不支持appendChild()方法.
解决办法:在<table>标签中加入<tbody>标签,使用tbody元素加入新行.
<html>
<head>
<title>JS测试</title>
<script type="text/javascript">
var num = 2;
function addRow(){
var tr = document.createElement("tr");
var td = document.createElement("td");
var te = document.createTextNode('row '+num++);
td.appendChild(te);
tr.appendChild(td);
var tbody= document.getElementById("tbody");
if(tbody.rows.length == 6){
alert('不能加了!');
}else{
tbody.appendChild(tr);
}
}
</script>
</head>
<body">
<table>
<tbody id="tbody">
<tr id="n">
<th>行数</th>
</tr>
<tr>
<td>row 1</td>
</tr>
</tbody>
</table>
<input type="button" value="Button" οnclick="addRow();">
</body>
</html>
好的,以下是添加删除物品和更改物品数量的功能的代码示例,基于 JavaScript: ```html <!DOCTYPE html> <html> <head> <title>Cart</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <h1>Cart</h1> <table> <thead> <tr> <th>Product</th> <th>Quantity</th> <th>Action</th> </tr> </thead> <tbody id="cart"> </tbody> </table> <form> <label for="product">Product:</label> <input type="text" id="product" name="product" required> <label for="quantity">Quantity:</label> <input type="number" id="quantity" name="quantity" required> <button type="submit" id="add">Add to Cart</button> </form> <script> var cart = localStorage.getItem('cart'); if (cart) { cart = JSON.parse(cart); var cartTable = document.getElementById('cart'); for (var product in cart) { var row = document.createElement('tr'); var productCell = document.createElement('td'); productCell.textContent = product; var quantityCell = document.createElement('td'); quantityCell.textContent = cart[product]; var actionCell = document.createElement('td'); var deleteButton = document.createElement('button'); deleteButton.textContent = 'Delete'; deleteButton.addEventListener('click', function(event) { var product = event.target.parentNode.parentNode.querySelector('td:first-child').textContent; delete cart[product]; localStorage.setItem('cart', JSON.stringify(cart)); event.target.parentNode.parentNode.remove(); }); var editButton = document.createElement('button'); editButton.textContent = 'Edit'; editButton.addEventListener('click', function(event) { var product = event.target.parentNode.parentNode.querySelector('td:first-child').textContent; var quantity = parseInt(prompt('Enter new quantity for ' + product + ':', cart[product])); if (!isNaN(quantity) && quantity >= 0) { cart[product] = quantity; localStorage.setItem('cart', JSON.stringify(cart)); event.target.parentNode.parentNode.querySelector('td:nth-child(2)').textContent = quantity; } else { alert('Invalid quantity'); } }); actionCell.appendChild(deleteButton); actionCell.appendChild(editButton); row.appendChild(productCell); row.appendChild(quantityCell); row.appendChild(actionCell); cartTable.appendChild(row); } } else { alert('Your cart is empty'); } document.getElementById('add').addEventListener('click', function(event) { event.preventDefault(); var product = document.getElementById('product').value; var quantity = parseInt(document.getElementById('quantity').value); if (product && !isNaN(quantity) && quantity >= 0) { if (cart) { if (cart[product]) { cart[product] += quantity; } else { cart[product] = quantity; } } else { cart = {}; cart[product] = quantity; } localStorage.setItem('cart', JSON.stringify(cart)); var cartTable = document.getElementById('cart'); var row = document.createElement('tr'); var productCell = document.createElement('td'); productCell.textContent = product; var quantityCell = document.createElement('td'); quantityCell.textContent = cart[product]; var actionCell = document.createElement('td'); var deleteButton = document.createElement('button'); deleteButton.textContent = 'Delete'; deleteButton.addEventListener('click', function(event) { var product = event.target.parentNode.parentNode.querySelector('td:first-child').textContent; delete cart[product]; localStorage.setItem('cart', JSON.stringify(cart)); event.target.parentNode.parentNode.remove(); }); var editButton = document.createElement('button'); editButton.textContent = 'Edit'; editButton.addEventListener('click', function(event) { var product = event.target.parentNode.parentNode.querySelector('td:first-child').textContent; var quantity = parseInt(prompt('Enter new quantity for ' + product + ':', cart[product])); if (!isNaN(quantity) && quantity >= 0) { cart[product] = quantity; localStorage.setItem('cart', JSON.stringify(cart)); event.target.parentNode.parentNode.querySelector('td:nth-child(2)').textContent = quantity; } else { alert('Invalid quantity'); } }); actionCell.appendChild(deleteButton); actionCell.appendChild(editButton); row.appendChild(productCell); row.appendChild(quantityCell); row.appendChild(actionCell); cartTable.appendChild(row); } else { alert('Invalid product or quantity'); } }); </script> </body> </html> ``` 这个代码添加了一个表单,用于添加新的产品和数量,并且在现有的表格添加了一个“操作”列,其包括删除和编辑按钮。删除按钮删除该行的产品,并从 localStorage 删除该产品的条目。编辑按钮提示用户输入新数量,然后更新该产品的数量和 localStorage 条目的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值