You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用contains匹配含HTML空格的词组及精准查找指定Span

解决jQuery :contains选择器匹配包含 文本的问题

核心问题原因

jQuery的:contains选择器是基于元素的文本内容(textContent/innerText)进行匹配的,而HTML中的 在DOM解析后会转换成Unicode非断空格字符(U+00A0),不是普通的空格(U+0020)。你之前尝试的几种写法要么是把 当作字符串字面量(而DOM里已经是转义后的字符),要么是用普通空格去匹配非断空格,自然无法命中目标元素。

解决方案:使用filter()方法精准匹配

最可靠的方式是用filter()方法手动检查元素的文本内容,直接使用非断空格的转义字符\xa0来构建目标字符串:

1. 精准匹配完全一致的文本

如果你需要找到文本完全等于Select Player To Pre-Draft的span元素:

$('span').filter(function() {
  // \xa0 是Unicode非断空格U+00A0的十六进制转义
  return this.textContent === 'Select\xa0Player\xa0To\xa0Pre-Draft';
}).remove();

2. 匹配包含该文本的元素

如果只需要元素文本包含这段内容(而非完全一致):

$('span').filter(function() {
  return this.textContent.includes('Select\xa0Player\xa0To\xa0Pre-Draft');
}).remove();

额外技巧:统一转换空格类型(可选)

如果你不确定文本里是普通空格还是非断空格,也可以把两者统一转换后再匹配,比如把元素文本中的非断空格替换成普通空格:

$('span').filter(function() {
  const normalizedText = this.textContent.replace(/\xa0/g, ' ');
  return normalizedText.includes('Select Player To Pre-Draft');
}).remove();

这种方式兼容性更强,但如果需要严格区分空格类型,建议还是用第一种精准匹配的方式。

内容的提问来源于stack exchange,提问作者MShack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:26:48