带有^ =选择器的Jquery .find() - 结果太多了

时间:2018-03-13 16:22:08

标签: javascript jquery

我正在使用jQuery.find()来查找id下的元素。但我有一个问题。

代码:

$('#myId').children().find('input[id^=course_' + subId + ']').attr('checked', false);

我的子元素为sel_1sel_11sel_12。我怎样才能获得sel_1,因为上面给出了所有三个结果?

2 个答案:

答案 0 :(得分:-1)

<强>更新

正如评论所说,选择器可以改进。 这是问题id^=course,您告诉jquery获取以course_' + subId开头的所有元素。这一行解决了这个问题:

$('input[id=course_' + subId + ']').attr('checked', false);

答案 1 :(得分:-6)

$('#myId')
.find('input[id^=course_' + subId + ']')
.prop('checked', false)
.first();

https://api.jquery.com/first/

但如果您需要精确地sel_1,那么为什么不实施id属性呢。

$('#course_sel_1').prop('checked', false);

jQuery将精确选择该元素。

如果是动态生成的,请使用find

$('#myId').find('#course_sel_1').prop('checked', false);