hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

ラジオボタンにラベルを設定するGreasemonkey

ラジオボタンに,ラベルがなくて,押しにくい!!!ということがよくあったので,勝手にラベルを設定するGreasemonkeyを書いてみた.

使用前

http://gyazo.com/41759efb1a003d3298714aa095ea8ce4.png

使用後

http://gyazo.com/28547c3f26748b67c94f422fe9761bdb.png



hitode909's
gist: 273482 — Gist

// ==UserScript==
// @name           label
// @namespace      http://www.hatena.ne.jp/hitode909
// @description    label
// @include        *
// ==/UserScript==

var inputs = document.getElementsByTagName("input");
for(var i=0; i<inputs.length; i++){
    var input = inputs[i];
    if(input.getAttribute("type") == "radio") {
        var cur = input;
        var found = false;
        while(cur) {
            if(cur.tagName == "LABEL") {
                found = true;
                break;
            }
            cur = cur.parentNode;
        }
        if (!found && input.nextSibling) {
            var df = document.createDocumentFragment();
            df.appendChild(input.cloneNode(false));
            df.appendChild(input.nextSibling);
            var label = document.createElement('label');
            label.appendChild(df);
            input.parentNode.replaceChild(label, input);
        }
    }
}