微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery获取id以任何常量结尾的元素

我需要一个jQuery来获取所有已检查的复选框,其ID以PR,PR_KD或PR_KDA结尾.我试过这个没有运气:

jQuery("#" + panelInfo[0] + "_row_" + panelInfo[1] + " input:checked").find(":[id$=_chkPR],:[id$=_chkPR_KD],:[id$=_chkPR_KDA])");

还有这个:

jQuery("#" + panelInfo[0] + "_row_" + panelInfo[1] + " input:checked:[id$=_chkPR,id$=_chkPR_KD,id$=_chkPR_KDA]")

我没有正确使用“或”.谁能帮我?

提前致谢!

亚历杭德罗.

解决方法

你的第一个示例查询是与正确语法最接近的查询,但是你使用$(‘… input:checked’).find()将查找这些复选框的子项(其中当然不存在) ).

所以你需要移动输入:检查部分,或者更好的是:复选框:选中,以排除任何单选按钮到你的.find中,这样你就可以在所需的容器内搜索,而不是在复选框列表中搜索

jQuery("#" + panelInfo[0] + "_row_" + panelInfo[1])
    .find(":checkBox:checked[id$=_chkPR],:checkBox:checked[id$=_chkPR_KD],:checkBox:checked[id$=_chkPR_KDA])");

另一种表达方式可能是:

jQuery("#" + panelInfo[0] + "_row_" + panelInfo[1])
   .find('[id$=_chkPR],[id$=_chkPR_KD],[$=id_chkPR_KDA]')
   .filter(function() { return $(this).is(':checkBox:checked'); });

在上面的代码中,您将在面板中找到具有匹配ID的所有元素,并从匹配集中筛选出已选中复选框的元素.

如果你提供一个上下文,你也可以完全不需要使用.find:

jQuery(":checkBox:checked[id$=_chkPR],:checkBox:checked[id$=_chkPR_KDA])",document.getElementById(panelInfo[0] + "_row_" + panelInfo[1]));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐