删除元素后的文本
我试图删除图标后面的文字。
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