JSFiddle - React, Tailwind, and code Playground

by winstonchang

HTML

<form>
    <label>
        <input type="radio" name="font" value="value1">Label 1 (input wrapped in label)</label>
    <br>
    <input type="radio" name="font" id="font2" , value="value2">
    <label for="font2">Label 2 (label uses for=)</label>
    <br>
</form>

JavaScript

$('form input').each(function (i, e) {

    // Get the label in the associated <label for='id'>
    var label_obj = $('label[for=' + this.id + ']');
    var label_for = null;
    if (label_obj.length > 0) {
        label_for = label_obj.text();
        label_for = $.trim(label_for);
    }

    // If the input is wrapped with a label, get that
    var label_wrap = null;
    if (this.parentNode.tagName === "LABEL") {
        label_wrap = $(this.parentNode).text();
        label_wrap = $.trim(label_wrap);
    }

    alert("Label with associated for: '" + label_for + "'\n\n" +
        "Label wrapping input tag: '" + label_wrap + "'");
});