如何获取<span></span>之外的文字

如何获取<span></span>之外的文字

复古式 发布于 2021-12-01 字数 166 浏览 898 回复 14

例如:<span>123</span>345<span>456</span>

如何获取文字345,他不是HTML元素节点?

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(14

复古式 2021-12-01 14 楼

先将parent元素clone一下,然后删除这个clone中的span。剩下的就是文本了

<!doctype html>
<html>
	<head>
		<script type="text/javascript" src="jquery.js"></script>
		<script type="text/javascript">
		$(function (){
			var parent=$('span').parent().clone();
			parent.find('span').remove();
			console.log(parent.text());
			parent.remove();
		})
		</script>
	</head>
	<body>
		<span>123</span>456<span>789</span>
	</body>
</html>

緦唸λ蓇 2021-12-01 13 楼

试试:$("span").parent().remove("span").html();

换个思路可以吗,加个em:

<span>123</span><em>345<em><span>456</span>

$("span").siblings("em").html();

或者$("span").eq(0).next().html();

三月梨花 2021-12-01 12 楼

首先,你得有个父窗口。哪怕是body。

晚风撩人 2021-12-01 11 楼

$(e).is('*') 是判断HTML 元素 tagName匹配的。

猫九 2021-12-01 10 楼

试试看:

var elementArray = $('<span>123</span>345<span>456</span>');
var eachIndex = 1;
var e = elementArray[eachIndex];
var isText = $(e).is('*'); // false
if(!isText){
    console.info(e);
}

掩饰不了的爱 2021-12-01 9 楼

但是我只想取定义span之外的文字怎么办?

剑心龙吟 2021-12-01 8 楼

回复
span 总有个父元素吧

平定天下 2021-12-01 7 楼

回复
锁定到span的父元素,text()返回的只有 plain text,不包含span内容。

最偏执的依靠 2021-12-01 6 楼

这个正确

柠檬 2021-12-01 5 楼

回复
这个不行,刚测试了,回把span里面的text也输出来

猫性小仙女 2021-12-01 4 楼
#000000;">$000000;">(#800000;">"span"000000;">).#000000;">parent000000;">().#000000;">text000000;">()
能否归途做我良人 2021-12-01 3 楼

jquery

叹沉浮 2021-12-01 2 楼

你要说清楚用什么获取?jquery?php?正则?

鹤舞 2021-12-01 1 楼

$('
<span>123</span>345<span>456</span>').find('*').remove();