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

jQuery Contains与Equals:如何将表单选择器从contains改为equals?

解决方案

没问题,我来帮你搞定这个选择器的修改!

原代码里的:contains("Field1")会匹配**所有文本中包含"Field1"的<h3>元素,但如果需要精确匹配文本内容完全等于"Field1"**的元素(也就是你说的"equals选择器"效果),我们可以用jQuery的.filter()方法来实现——因为jQuery并没有原生的:equals文本选择器。

修改后的代码如下:

$('<h2>Basic Information</h2>').insertBefore($('h3').filter(function() {
  // 用trim()去除文本前后的空白字符,避免空格干扰匹配
  return $(this).text().trim() === "Field1";
}).parent().parent());

代码说明:

  • 先通过$('h3')选中页面中所有的<h3>元素
  • 调用.filter()方法,传入一个回调函数,筛选出文本内容(去除前后空白后)精确等于"Field1"的<h3>
  • 后续的.parent().parent()逻辑和原代码保持一致,定位到目标元素的祖父节点,再插入新的<h2>元素

如果你的需求是基于元素索引的"equals"(比如匹配第N个<h3>),那可以用jQuery的:eq()选择器,比如$('h3:eq(0)')匹配第一个<h3>,但根据你的描述,应该是文本精确匹配的场景,所以上面的方案更贴合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 17:07:31