如何使用jQuery追加指定div?本人在jQuery操作中遇到问题
使用jQuery追加指定DIV的解决方案
看起来你需要动态追加带有分析编号的DIV元素,结合你提供的PHP和HTML结构,我给你两种实用的实现方式:
首先先整理一下你提供的代码(补全了部分省略的内容):
你的PHP代码
<?php include "Header.php"; include "Connection.php"; // 查询分析数据 $stmt = $con->prepare("SELECT * FROM analyse"); $stmt->execute(); $rows = $stmt->fetchAll(); $i=0; ?>
你的基础DIV结构
<div id="contun"> <div id="listA" class="form-group row"> <label class="col-xl-12 col-md-3 form-control-label"> Analyse N° <?php echo ++$i; ?> <span class="required">*</span> </label> <!-- 这里可以添加你的表单输入元素 --> </div> </div>
方法1:动态构建HTML字符串追加
这种方法适合你明确知道要追加的HTML结构时使用,灵活性高:
// 假设你有一个按钮触发追加动作,给按钮加id="add-analyse-btn" $('#add-analyse-btn').click(function() { // 计算当前已有分析项的数量,生成新的编号 const analyseCount = $('#contun .form-group.row').length + 1; // 构建要追加的HTML片段(可以根据你的需求调整内部元素) const newAnalyse = ` <div class="form-group row"> <label class="col-xl-12 col-md-3 form-control-label"> Analyse N° ${analyseCount} <span class="required">*</span> </label> <div class="col-xl-12 col-md-9"> <input type="text" class="form-control" name="analyse[]" placeholder="输入分析详情"> </div> </div> `; // 将新的DIV追加到容器中 $('#contun').append(newAnalyse); });
方法2:克隆现有元素并修改内容
如果你的基础DIV已经有完整的样式和结构,克隆会更高效:
$('#add-analyse-btn').click(function() { // 克隆初始的listA元素(true表示连同事件一起克隆,如果不需要事件可以去掉true) const clonedItem = $('#listA').clone(true); // 移除克隆元素的id,避免页面出现重复id(id必须唯一) clonedItem.removeAttr('id'); // 更新分析编号 const analyseCount = $('#contun .form-group.row').length + 1; clonedItem.find('.form-control-label') .text(`Analyse N° ${analyseCount}`) .append('<span class="required">*</span>'); // 如果有输入框,清空克隆后的输入值,避免和原元素内容一致 clonedItem.find('input, textarea').val(''); // 追加到容器里 $('#contun').append(clonedItem); });
重要注意事项
- 确保你的页面已经加载了jQuery库,否则代码无法运行
- 不要给多个元素使用同一个
id,所以克隆后的元素一定要移除原id,或者初始就只用class来标识元素 - 如果需要提交这些动态添加的表单数据,记得把表单元素的
name设置成数组形式(比如name="analyse[]"),这样后端PHP可以通过$_POST['analyse']获取所有值
内容的提问来源于stack exchange,提问作者yasser maina
相关产品推荐
相关产品推荐

