如何使用jQuery根据子元素包含特定文本动态隐藏其父级元素?

2026-05-06 19:300阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计736个文字,预计阅读时间需要3分钟。

如何使用jQuery根据子元素包含特定文本动态隐藏其父级元素?

原文:

在表单动态控制场景中,常需根据子元素(如 <input>)的上下文文本(例如必填标识 *)来决定是否显示其所属的 <label> 或外层 <div>。但 jQuery 的 .not() 方法不能直接接收字符串作为文本过滤条件——它只接受选择器、DOM 元素集合或返回布尔值的回调函数。原始代码中 checkthis.not("*").hide() 会失效,因为 * 被误当作 CSS 选择器而非文本内容。

正确做法是:先获取目标子元素的父级(如 $('input[id^="guest_"]').parent('label')),再通过 .not() 的函数参数形式遍历每个父元素,检查其内部 HTML 或文本是否包含 *。推荐使用正则表达式 /\*/ 检测 HTML 字符串(兼顾 <font> 等内联标签),或用 $(e).text().includes('*') 检测纯文本(更语义化,但忽略格式标签)。

阅读全文
标签:jquery

本文共计736个文字,预计阅读时间需要3分钟。

如何使用jQuery根据子元素包含特定文本动态隐藏其父级元素?

原文:

在表单动态控制场景中,常需根据子元素(如 <input>)的上下文文本(例如必填标识 *)来决定是否显示其所属的 <label> 或外层 <div>。但 jQuery 的 .not() 方法不能直接接收字符串作为文本过滤条件——它只接受选择器、DOM 元素集合或返回布尔值的回调函数。原始代码中 checkthis.not("*").hide() 会失效,因为 * 被误当作 CSS 选择器而非文本内容。

正确做法是:先获取目标子元素的父级(如 $('input[id^="guest_"]').parent('label')),再通过 .not() 的函数参数形式遍历每个父元素,检查其内部 HTML 或文本是否包含 *。推荐使用正则表达式 /\*/ 检测 HTML 字符串(兼顾 <font> 等内联标签),或用 $(e).text().includes('*') 检测纯文本(更语义化,但忽略格式标签)。

阅读全文
标签:jquery