JQUERY:通过匹配OnClick属性中的字符串的一部分来查找jQuery SELECTOR中的复选框

e4yzc0pl  于 2023-06-22  发布在  jQuery
关注(0)|答案(2)|浏览(156)

我们有一个JQUERY挑战,因为**我们需要通过匹配OnClick属性中的字符串的一部分来找到JQuery SELECTOR中的复选框。**如果我们匹配的是NAME或ID,这将非常容易,但复选框是由我们的应用程序创建的,该应用程序创建了HTML,如下所示。

<input type="checkbox"  name="alternate" value="" onClick="moreStudyDetFunctions.setValue(moreStudyDetFunctions.formObj,24242,1)">

在旧版本的Jquery中,我们能够找到这个jQuery(“input:checkbox[onclick*=,24242]”).attr(“checked”)
当前版本的jQuery似乎不支持这一点,需要我修改代码。
我可以得到OnClick属性如下:$('input:checkbox').attr('onClick ')

但我不知道如何限制复选框选择器仅匹配onClick属性中的“24242”

:contains命令似乎不适用于复选框。这将不起作用$('input:checkbox').contains('24242')
也许是$('input:checkbox').filter?

aydmsdu9

aydmsdu91#

你可以使用indexOf,如果不存在,它将打印第一次出现的else索引

console.log($('input:checkbox').attr('onClick').indexOf('24242'))
//if -1 not found else found

//example
if ($('input:checkbox').attr('onClick').indexOf('24242') > -1) {
  console.log(`found at index ${$('input:checkbox').attr('onClick').indexOf('24242')}`);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" name="alternate" value="" onClick="moreStudyDetFunctions.setValue(moreStudyDetFunctions.formObj,24242,1)">

参考文献:

tzxcd3kk

tzxcd3kk2#

是的,我需要使用一个过滤器,但因为它是一个字符串搜索我需要一个anonomous函数。

$(document).ready(function() {
  alert($('input:checkbox').filter(function() {
    return $('input:checkbox').attr('onClick').indexOf('24242') > 0
  }).length);
});
<input type="checkbox"  name="alternate" value="" checked   onClick="moreStudyDetFunctions.setValue(moreStudyDetFunctions.formObj,24242,1)">

相关问题