如何对数组中的DOM元素调用jQuery.remove()方法?
解决数组中原生DOM元素调用jQuery.remove()的问题
嘿,我来帮你搞定这个问题~
你遇到的核心问题是:数组里存储的是原生DOM元素,而remove()是jQuery对象特有的方法,直接用原生DOM元素调用jQuery的方法自然不会生效。下面给你两种可行的解决思路:
方法一:把原生DOM包装成jQuery对象
用$()把数组里的原生DOM元素转换成jQuery对象,之后就能正常调用remove()了:
$(array[0]).remove();
这个方式的本质是让jQuery接管这个DOM元素,这样你就能使用jQuery提供的所有方法,包括remove()。
方法二:使用原生JS的remove()方法
其实现代浏览器的原生DOM元素本身也支持remove()方法(注意这和jQuery的remove()不是同一个实现,但核心效果都是移除元素),如果你的项目不需要依赖jQuery,也可以直接用:
array[0].remove();
如果之前调用这个没生效,可能是元素已经被移除、或者数组里的元素不是有效的DOM节点,可以检查一下数组里的元素是否存在且挂载在DOM树上。
另外补充个小提示:如果后续需要频繁用jQuery操作这些元素,建议在创建的时候就直接用jQuery来创建,这样存到数组里的就是jQuery对象,后续直接调用方法就行:
// 用jQuery创建p元素并存入数组 var $element = $("<p>").text(message); var array = [$element]; // 直接调用remove() array[0].remove();
内容的提问来源于stack exchange,提问作者pgr4567
相关产品推荐
相关产品推荐

