これは本当に単純に聞こえるので、どこで立ち往生しているのかわかりません。手動で検証するフォームがあります。ラジオ ボタンが必要に応じてチェックされた後、この要素の上にラベルを取得する必要があります。ここにHTMLがあります。このコードは継承であり、より大きなプロセスの一部であるため、マークアップを変更することはできません。
これは私のHTMLです:
<label>Do you market on? : </label>
<li>
<label>Plenty of Fish:</label>
<span href="#" style="float: left; margin-right: 10px;">
<input type="radio" class="required" name="data[SignupAnswer][100][answer]" value="yes" />Yes
</span>
<span href="#" style="float: left; margin-right: 10px;">
<input type="radio" class="required" name="data[SignupAnswer][100][answer]" value="no" />No
</span>
<input type="hidden" name="data[SignupAnswer][100][signup_question_id]" value="100">
<input type="hidden" name="data[SignupAnswer][100][class]" value="bool">
<input type="hidden" name="data[SignupAnswer][100][required]" value="0">
<input type="hidden" name="data[SignupAnswer][100][question]" value="Plenty of Fish">
</li>
最初のラジオを見つけて、その上にある「Plenty of Fish」というラベルを見つける必要があります。
私は .prev() と .closest() の両方を ('label') で試しましたが、どちらも実際の要素を返さず、代わりにこのオブジェクトを返しました:
[prevObject: jQuery.fn.jQuery.init[1], context: <input>, selector: ".next(li)"]
要素ではなく、なぜこれが得られるのか、誰かが説明してくれるでしょうか?必要な要素を取得する方法を教えてください。ありがとう!