您需要转义选择器。这是我创建的一个 jQuery 插件,它返回与标签关联的输入。
(function() {
$.formElementByLabel = function(label) {
var $label = $('label:contains("' + label + '")');
var formElementId = $label.attr("for");
return $('#' + $.escapeSelector(formElementId));
};
})(jQuery)
const $input = $.formElementByLabel("Project ID");
console.log($input.val()); // foo
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label class="sc-1gau0qu-1 gGZrXf StyledLabel-sc-2utmsz-0 bYrRLL" id="64val-field_2.1.0--label" for="64val-field_2.1.0--input" data-garden-id="forms.input_label" data-garden-version="8.69.11" data-garden-container-id="containers.field" data-garden-container-version="2.1.0">Project ID</label>
<input type="text" class="sc-1gau0qu-2 gEiOHk StyledTextInput-sc-k12n8x-0 bXXlCE" id="64val-field_2.1.0--input" value="foo" data-garden-id="forms.input" data-garden-version="8.69.11" aria-invalid="false" aria-labelledby="64val-field_2.1.0--label" data-test-id="ticket-fields-text-field"
data-tracking-id="ticket-fields-text-field">