在js或jquery中,我要清除里面的span标签,但是里面还有a标签,我要保留a标签删除span

在js或jquery中,我要清除里面的span标签,但是里面还有a标签,我要保留a标签删除span需要怎么做?
$(".div).empty()?,怎么搞,求指教!
最新回答
珍藏版╮宝贝

2024-10-31 12:16:12

//选择div内的
span标签

var objects=$(".div").children("span");
for(var i=0;i<objects.length;i++){
    //遍历span标签,移除span
    objects[i].remove();
}


remove()定义和用法

remove() 方法移除被选元素,包括所有文本和子节点。

该方法不会把匹配的元素从 jQuery 对象中删除,因而可以在将来再使用这些匹配的元素。

但除了这个元素本身得以保留之外,remove() 不会保留元素的 jQuery 数据。其他的比如绑定的事件、附加的数据等都会被移除。这一点与 detach() 不同。

语法

$(selector).remove()

追问
这个方法确实可以,但是,节点可以删除,但是它占用的空间还在是怎么回事儿?
追答
remove()不会保留占用的位置啊
冷月如霜

2024-10-31 10:08:52

那既然要删除span ,保留a标签,那为什么不把它们分开?如果你想实现这个效果,可以先找到span的父节点元素,然后把a标签放到父节点元素里面,然后在删掉span就可以了。

var parent = jQuery("span").parent();
var a = jQuery("span").find("a").clone();
parent.append(a);
jQuery("span").remove();
温茶

2024-10-31 18:54:29

可以先把里面需要保留的a标签取出来然后remove掉span,然后再把刚才取出来的a标签放进去
花开丶终会败

2024-10-31 21:34:15

用unwrap();
var a = $("a");
a.unwrap();