如何使用jQuery隐藏不包含特定文本(如星号)的父元素实例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计707个文字,预计阅读时间需要3分钟。
本文字介绍如何使用,请直接查阅相关文档或教程。
在表单动态控制场景中,常需根据字段是否为必填项(通常用 <font color="red">*</font> 标识)来决定其所在容器(如 <label> 或 <div>)的显隐状态。但 jQuery 的 .not() 方法不能直接接收字符串文本作为过滤条件——它只接受选择器、DOM 元素集合或返回布尔值的回调函数。因此,原代码中 checkthis.not("*").hide() 逻辑无效,必须改用函数式过滤。
✅ 正确实现思路
- 定位目标子元素:通过 ID 选取输入框(如 #guest_first_name, #guest_last_name);
- 向上获取父级 <label>:使用 .parent();
- 按文本内容过滤:利用 .not() 的回调函数参数 (i, element),检查 element.innerHTML 是否*不包含 `` 字符**;
- 执行隐藏:对不满足条件的元素调用 .hide()。
本文共计707个文字,预计阅读时间需要3分钟。
本文字介绍如何使用,请直接查阅相关文档或教程。
在表单动态控制场景中,常需根据字段是否为必填项(通常用 <font color="red">*</font> 标识)来决定其所在容器(如 <label> 或 <div>)的显隐状态。但 jQuery 的 .not() 方法不能直接接收字符串文本作为过滤条件——它只接受选择器、DOM 元素集合或返回布尔值的回调函数。因此,原代码中 checkthis.not("*").hide() 逻辑无效,必须改用函数式过滤。
✅ 正确实现思路
- 定位目标子元素:通过 ID 选取输入框(如 #guest_first_name, #guest_last_name);
- 向上获取父级 <label>:使用 .parent();
- 按文本内容过滤:利用 .not() 的回调函数参数 (i, element),检查 element.innerHTML 是否*不包含 `` 字符**;
- 执行隐藏:对不满足条件的元素调用 .hide()。

