You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery克隆template模板添加类和文本后无法追加到指定元素问题排查

问题根因

核心问题由两个错误导致:

  • 原生<template>标签的可渲染内容存储在自身的content属性中,你直接用jQuery克隆<template id="result">元素本身,克隆的是默认不渲染的template标签节点,而非内部的业务DOM结构,就算插入页面也不会展示内容。
  • 表单提交事件未阻止默认跳转行为,表单触发submit后会默认刷新页面,导致刚追加的内容随着页面刷新消失。

解决方法

1. 修正表单提交逻辑,阻止默认事件

在submit事件回调最开始添加event.preventDefault(),避免页面刷新:

$(document).ready(function () {
    $('#form').on('submit', function (event) {
        // 阻止表单默认提交刷新页面的行为
        event.preventDefault();
        $.ajax({
            data: {...},
            type: 'GET',
            url: '/result'
        }).done(myFunction);
    });
});

2. 修正模板克隆逻辑,正确获取内部内容

克隆时先取<template>的content属性中的可渲染DOM,再进行后续操作:

function myFunction(result) {
    // 先获取template的content内容,再克隆可渲染的DOM节点
    const clone = $($('#result')[0].content).clone();
    $('.alert', clone).addClass('myClass');
    $('.someText', clone).text('myText');
    clone.appendTo("#answer");
}

内容的提问来源于stack exchange,提问作者fr0zie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 09:15:02