我需要捕获表单中的一些元素。元素看起来像这样:
<div id="wpforms-22603-field_17-container" class="wpforms-field wpforms-field-likert_scale" data-field-id="17">
<div id="wpforms-22603-field_18-container" class="wpforms-field wpforms-field-likert_scale" data-field-id="18">
<div id="wpforms-22603-field_19-container" class="wpforms-field wpforms-field-likert_scale" data-field-id="19">
可变部分是
-field_
之后的数字,当然还有 data-field-id
值本身。
所以我写了这个:
var elem = $(this).closest('[id^=wpforms-'+this_form_id+'-field_][id$=-container]');
其中
this_form_id
包含值 22603
。这很好用,但我还需要在匹配过程中指定一个类,该类是wpforms-field-likert_scale
。
所以我尝试了这个:
var elem = $(this).closest('[id^=wpforms-'+this_form_id+'-field_][id$=-container] .wpforms-field-likert_scale');
这不起作用。我做错了什么?
删除
.
之前的空格
var elem = $(this).closest(`[id^=wpforms-${this_form_id}-field_][id$=-container].wpforms-field-likert_scale`);
或者使用过滤器
var elem = $(this).closest('.wpforms-field-likert_scale')
.filter(`[id^=wpforms-${this_form_id}-field_][id$=-container]`);