var checkbox = $("#myCheckbox"); checkbox.replaceWith('<input type="radio" name="'+checkbox.attr('name')+'" value="'+checkbox.attr('value')+'" />');
Or using jQuery 1.4
var checkbox = $("#myCheckbox"); $("<input>",{ type:'radio', name: checkbox.attr('name'), value: checkbox.attr('value') }).replace(checkbox);
You are changing the type attribute because it causes problems in IE.
source share