How do you dynamically create a radio button in Javascript that works in all browsers?

Taking a step from what Patrick suggests, using a temporary node we can get rid of the try/catch:

function createRadioElement(name, checked) {
    var radioHtml="<input type="radio" name="" + name + '"';
    if ( checked ) {
        radioHtml += ' checked="checked"';
    }
    radioHtml += '/>';

    var radioFragment = document.createElement('div');
    radioFragment.innerHTML = radioHtml;

    return radioFragment.firstChild;
}

Leave a Comment