从尚未注册到 DOM 的 jquery 对象中删除元素
Remove element from jquery object not yet registered to DOM
我正在构建一个使用表单集合的Symfony2应用程序,用户可以在其中动态添加表单。为了动态添加表单,Symfony2为我们提供了一种在javascript中获取表单模板的方法,我们只需要用当前索引替换__name__
占位符即可。
由于我的表单需要一些非常具体的布局,我需要将错误与小部件合并,现在当我想从模板中删除错误时,如果它被初始化了,我就会陷入困境。
我可以这样简化我的问题:
/* js */
var test = $('<div><p class="error">Dirty stuff</p><p>Clean stuff</p></div>').remove('.error');
$('#test').append(test);
<!-- html -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="test"></div>
如您所见,输出为:
Dirty stuff
Clean stuff
而不仅仅是:
Clean stuff
我的问题:
如何从我的
test
var 中删除与我的.error
选择器匹配的所有内容?
我想你是说你想这样做:
var test = $('<div><p class="error">Dirty stuff</p><p>Clean stuff</p></div>');
test.find(".error").remove();
$("#test").append(test);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="test"></div>
有许多不同的表达方式,但基本上在创建元素之后,但在我们附加它们之前,我们会执行一个.find()
来找到.error
元素,然后删除它们。
然后我们简单地附加原始test
,因为它的.error
后代被删除了。
我会添加到 dom 中并在稍后删除:
$('#test').append('<div><p class="error">Dirty stuff</p><p>Clean stuff</p></div>');
$('.error').remove();
相关文章:
- 如何删除对象数组中的对象:jquery
- 为一个声音元素数组创建一个音频对象jquery,javascript
- 在原型对象 jquery 上将一个按钮与另一个按钮不同
- 编辑对象 jQuery 的属性
- ajax 正在用多个调用覆盖 XHR 对象 - jQuery
- 传递值并将其显示为对象 - jquery
- 如何将变量名转换为对象jQuery的索引字符串
- 访问多个动态对象 jQuery
- 使用OptGroup从两个分离的JSon对象JQuery填充Select
- 显示对象jquery中的数据
- 清空Javascript对象(Jquery Mobile)
- null不是对象-jQuery+传单
- 当事件是由单元格中的对象jQuery引起时,如何更改该单元格的自定义属性
- 未捕获类型错误:Property '$'对象- jQuery
- 从数组对象Jquery中移除对象
- 将属性值转换为对象(jquery或javascript)
- 不知道如何排序这个JSON对象jQuery/JavaScript
- 解析和字符串化json对象jquery
- 插入对象(jquery)延迟
- HTML ' img '标签不能在对象jquery中显示为图像