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

如何通过按钮复制单张MCQ卡片内的对象 避免新增选项同步到所有卡片

你代码中新增选项会同步添加到所有卡片的原因是选择器没有限制作用范围:appendTo(".radioListItemView")会匹配页面内所有卡片的选项容器,导致克隆的选项被插入到每一张卡片里。

1. 修正点击添加选项的逻辑

$(".TextInputSimpleInputPlaceholder").on("click", function () {
    // 定位当前点击位置所属的卡片容器
    const currentCard = $(this).closest(".questionBodyRadioBody");
    // 仅从当前卡片克隆第一个选项
    const clone = currentCard.find(".radioListItemPrimaryContent:first").clone(true);
    clone.attr("class", "radioListItemPrimaryContent");
    // 仅插入到当前卡片的选项列表中
    clone.appendTo(currentCard.find(".radioListItemView"));
});

2. 优化卡片克隆函数

原克隆函数里的全局选择器逻辑也存在范围问题,优化后代码如下:

function cloneQuestion() {
    const originalQuestion = document.querySelector(".questions");
    const clonedQuestion = originalQuestion.cloneNode(true);
    clonedQuestion.querySelector(".questionMainTextArea").value = "Untitled Question";
    const addBtn = document.querySelector(".addQuestionBtnRow");
    addBtn.parentNode.insertBefore(clonedQuestion, addBtn);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:54:03