我有这段代码:
if (data.response) {
$("#product-create-step-2 input:last").after('<div class="variation_checkbox"><input type="checkbox" value="1" name="has_variations" id="has_variations" /> Posee variaciones?</div>');
} else {
console.log("false");
$("#product-create-step-2 input:last").remove('#variation_checkbox');
}
发生的事情是:
data.response
为真时,它会多次创建元素,我只需要创建一次但不知道如何data.response
为false元素之前,创建永远不会被删除,并且不知道为什么任何帮助?
更新
我按如下方式创建元素:
<div id="has_variation" style="display:none">
<input type="checkbox" value="1" name="has_variations" id="has_variations" /> Has variations?
</div>
然后将我的代码更改为:
$("div.has_variation").toggle(data.response);
如果data.response
为真,则该元素应该显示,如果data.response
为假,则该元素应该隐藏?我错过了什么?
答案 0 :(得分:2)
variation_checkbox
是一个类..“#”用于id&amp; dot用于课程。
$("#product-create-step-2").find('.variation_checkbox').remove();
答案 1 :(得分:1)
输入后,您的div
正在附加。您的选择器$("#product-create-step-2 input:last").remove('#variation_checkbox');
正在内部输入。
请改为尝试:
$("#product-create-step-2 input:last").next('.variation_checkbox').remove();
修改已将#variation_checkbox
更改为.variation_checkbox
。