本文介绍如何使用 JavaScript 结合 HTML Table 标签实现动态添加邮件附件的功能。核心原理是通过 insertRow 和 insertCell 方法动态创建表格行与列,并在单元格中插入文件选择控件及删除按钮。文章提供了完整的 HTML 结构与 JavaScript 代码示例,展示了如何获取表格对象并操作 DOM 元素,适合需要实现简易附件上传交互的开发者参考。
动态添加附件功能概述
在电子邮件应用中,添加附件是一项常见功能。下面展示一个简单的实现效果。

基于 Table 标签的实现原理
实现原理: 采用table标签的,主要思想:采用table标签方式 1、点击文字之后,就自动创建(原先是自己/创建,现在拿到table对象之后,可以insertRow() insertCell())创建行和列 2、删除的时候通过父节点来移除 核心代码:
function creatMail(){
var tab=document.getElementById("tabid");
var tr=tab.insertRow();//插入一行
var td=tr.insertCell();//插入一列
var td2=tr.insertCell();//插入一列
td.innerHTML="<input type='file' value='选择文件'/> ";
/*
td2.innerHTML="<a href='javascript:void(0)' onclick='Delrows(this)'>删除</a>";
*/
td2.innerHTML="<img src='11.jpg' alt='删除' onclick='Delrows(this)'>";
}
完整代码示例
以下是完整的代码实现(注:此处仅演示添加附件的功能,未包含其他复杂逻辑)。
<!DOCTYPE html>
<html>
<head>
<!--主要思想:采用table标签方式
1,点击文字之后,就自动创建(原先是自己/创建,现在拿到table对象之后,可以insertRow() insertCell())创建行和列
2,删除的时候通过父节点来移除
-->
<title>AddMail.html</title>
<link rel="stylesheet" type="text/css" href="1.css">
<script type="text/javascript">
function creatMail(){
var tab=document.getElementById("tabid");
var tr=tab.insertRow();//插入一行
var td=tr.insertCell();//插入一列
var td2=tr.insertCell();//插入一列
td.innerHTML="<input type='file' value='选择文件'/> ";
/*
td2.innerHTML="<a href='javascript:void(0)' onclick='Delrows(this)'>删除</a>";
*/
td2.innerHTML="<img src='11.jpg' alt='删除' onclick='Delrows(this)'>";
}
function Delrows(node){//当前对象是<a>里面
var tr=node.parentNode.parentNode;//tr对象
tr.parentNode.removeChild(tr);//tr的父对象table移除子节点
}
</script>
</head>
<body>
<table id="tabid">
<tr>
<td><a href="javascript:void(0)" onclick="creatMail()">添加附件</a></td>
</tr>
</table>
</body>
</html>
本文分享了实现原理、核心代码以及完整的 JavaScript 实现附件添加功能的代码示例,希望对读者的学习有所帮助。