删除元素后的文本

我试图删除图标后面的文字。

xFrance $('.flagstrap-icon').next().remove(); 

问题是没有元素,next()将无法工作。

示例France

演示

有没有想过删除图标后的文字?

jQuery不能真正定位非元素的节点,但普通的JS可以

 $('.flagstrap-icon').get(0).nextSibling.remove() 

小提琴

请注意,这使用了旧版浏览器不支持的本机remove() ,如果你必须支持那些,你可以这样做

 var node = $('.flagstrap-icon').get(0).nextSibling; node.parentNode.removeChild(node); 

jQuery .next()方法选择下一个元素及其内容 ,并且不选择不在元素内部的文本,它的工作原理是因为jquery查看DOM树而不是明文。

关于如何选择没有标签的明文,我不认为它可能/我不知道

希望它能帮助mukund2003

如果元素位于父容器中并且该容器中没有额外元素,则可以执行以下操作:

 $('.flagstrap-icon').parent().html($('
').append($('.flagstrap-icon').clone()).html());

但是,如果父级包含其他元素,它将无法正常工作。

DEMO