1. ホーム
  2. javascript

[解決済み] jQuery - 入力フィールドの関連するラベル要素を選択する [duplicate].

2022-08-26 03:07:40

質問

入力フィールドのセットがあり、それらのいくつかはラベルが関連付けられ、いくつかはそうではありません。

<label for="bla">bla</label> <input type="text" id="bla" />

<label for="foo">bla <input type="checkbox" id="foo" /> </label>

<input ... />

ということで、各入力に対して関連するラベルが存在する場合、どのように選択すればよいでしょうか?

どのように解決するのですか?

要素の順序に依存しないよう prev または next . を使うだけです。 for 属性は、現在操作している要素のIDに対応する必要があります。

var label = $("label[for='" + $(this).attr('id') + "']");

ただし、ラベルに for が設定されていない場合があり、その場合、ラベルは関連するコントロールの親となります。どちらの場合でも見つけるには、以下のバリエーションを使用します。

var label = $('label[for="' + $(this).attr('id') + '"]');

if(label.length <= 0) {
    var parentElem = $(this).parent(),
        parentTagName = parentElem.get(0).tagName.toLowerCase();

    if(parentTagName == "label") {
        label = parentElem;
    }
}

これが役に立てばいいのですが