如何用jQuery在指定表单节点内获取ID以_inputError结尾且带d-block类的元素?
在指定表单内检索目标元素的jQuery解决方案
嘿,这个问题其实很好解决!你只需要把已经获取到的表单节点作为查找的上下文,就能精准限定检索范围,不会跑到其他表单里去啦。这里给你两种常用的实现方式:
方式1:使用find()方法(最直观清晰)
你已经有了表单节点var formNode = $("#frm1");,直接调用它的find()方法,传入你需要的复合选择器就行:
// 在指定表单内查找ID以"_inputError"结尾且带有d-block类的元素 var targetElements = formNode.find('[id$="_inputError"].d-block');
原理说明:
formNode是你的目标表单jQuery对象,find()方法只会在该表单的所有后代元素中进行检索,不会涉及页面其他区域。[id$="_inputError"]负责匹配ID后缀符合要求的元素,.d-block进一步筛选出带有该类名的元素,两者组合就精准命中你要的元素了。
方式2:把表单节点作为选择器的上下文参数
如果你更喜欢简洁的写法,也可以把表单对象作为jQuery选择器的第二个参数(上下文):
var targetElements = $('[id$="_inputError"].d-block', formNode);
这种写法和上面的find()效果完全一致,只是语法形式不同,选你觉得顺手的就行。
额外小提示
你可以通过console.log(targetElements.length)来打印找到的元素数量,快速验证是否正确匹配到了目标元素哦~
内容的提问来源于stack exchange,提问作者Pat
相关产品推荐
相关产品推荐

