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

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

//选择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()不会保留占用的位置啊

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-02-28

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

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

第2个回答  2015-11-26
可以先把里面需要保留的a标签取出来然后remove掉span,然后再把刚才取出来的a标签放进去
第3个回答  2018-02-28
用unwrap();
var a = $("a");
a.unwrap();
相似回答