.map() メソッドを使用すると、2 つのノードを持つ配列が返されます (jQuery オブジェクト/一致したセットではありません)。このセットのクラスを適用したいのですが、何も起こりません。
$('input#substance, input[name="atc_code"]').map(function() {return $(this).prevAll('label:first')});
戻り値:
[x.fn.x.init[1], x.fn.x.init[1]]
[
x.fn.x.init[1]
0: label
context: input#substance.ui-autocomplete-input
length: 1
prevObject: x.fn.x.init[1]
__proto__: Object[0]
,
x.fn.x.init[1]
0: label
context: input.small ui-autocomplete-input
length: 1
prevObject: x.fn.x.init[1]
__proto__: Object[0]
正しく選択されますが、なぜこの配列を使用できないのですか? jQueryオブジェクトではないのはなぜですか?
HTML:
<div class="fieldset-container">
<label>Substance</label>
<span role="status" aria-live="polite" class="ui-helper-hidden-accessible"></span>
<input type="text" name="substance" id="substance" maxlength="22" autocomplete="off" spellcheck="false" autofocus="autofocus" class="ui-autocomplete-input">
<label title="Required field">ATC code<span class="ma">*</span></label>
<span role="status" aria-live="polite" class="ui-helper-hidden-accessible"></span><input type="text" class="small ui-autocomplete-input" name="atc_code" maxlength="7" autocomplete="off" spellcheck="false">
<label>Year</label>
<div class="small">
<select name="year">...</select>
</div>
</div>