Jquery 如何删除仅包含特定文本的动态div

Jquery 如何删除仅包含特定文本的动态div,jquery,Jquery,我试图创建一个下拉列表,为sql报表创建者动态创建div 当选择一个选项时,它会创建一个具有该选项名称的div,并将其正确地附加到div中。我的问题是我不想要重复的div。因此,如果已经创建了一个ID和文本为Successful的div,我不想添加它,我想先删除旧的div,然后再添加它。目前,唯一不起作用的部分是: $("div").remove(divcnt); 不会删除与所选ID相同的div 有什么建议吗 小提琴: $'rp_status'。在'change'上,函数{ var di

我试图创建一个下拉列表,为sql报表创建者动态创建div

当选择一个选项时,它会创建一个具有该选项名称的div,并将其正确地附加到div中。我的问题是我不想要重复的div。因此,如果已经创建了一个ID和文本为Successful的div,我不想添加它,我想先删除旧的div,然后再添加它。目前,唯一不起作用的部分是:

 $("div").remove(divcnt);
不会删除与所选ID相同的div

有什么建议吗

小提琴:

$'rp_status'。在'change'上,函数{ var divcnt=$this.val; 如果divcnt=='All'{ $div.remove'.sselection'; 变量$div=${ id:sall, 类别:选择状态, 文本:divcnt }; $status\u selections.追加$div; }否则{ $div.removedivcnt; $div.removesall; 变量$div=${ id:divcnt, 类别:选择状态, 文本:divcnt }; $status\u selections.追加$div; } }; 地位 全部的 刚出现的 进行中 成功的 暂停 失败 选择 全部的
代码尝试查找具有给定名称的标记。要按id属性选择,您需要使用哈希作为前缀:

$("div").remove("#" + divcnt);
但是请注意,这不适用于divcnt有空格的情况,因为HTML id属性不允许有空格,并且选择器的解释将不同。因此,请改用自定义属性,或使用[]选择器语法:

$("div").remove('[id="' + divcnt + '"]');

您的第一个问题是,由于您的选项元素值在生成的id属性中有空格,因此这些属性无效。您可以通过使用数据属性来包含一个值作为新内容的id来解决此问题。或者,您可以通过正则表达式运行该值以自动删除空格;这只取决于您需要对值进行多少控制

其次,由于只能选择一个项,因此可以通过在附加新项之前简单地擦除status_选择中的所有div元素,使remove调用更通用。试试这个:

$'rp_status'。在'change'上,函数{ var$container=$‘状态_选择’; $container.find'div'。删除; $container.append+this.value+; }; 地位 全部的 刚出现的 进行中 成功的 暂停 失败 选择 全部的
是的,就是这样。很好,我想我之前试过了,但一定是弄糟了其他东西。仅供参考,除了“id中的空格”问题外,这将导致sall元素成为all。是的,我认为这是一个拼写错误,否则我不明白OP为什么会使用sall而不是all。看起来事情很复杂。你说得对,我的ID里有空格。我也会做出改变。谢谢