使用例如动态创建单选按钮
var radioInput = document.createElement('input'); radioInput.setAttribute('type', 'radio'); radioInput.setAttribute('name', name);
适用于Firefox但不适用于IE.为什么不?
从帕特里克的建议迈出一步,使用临时节点,我们可以摆脱try/catch:
function createRadioElement(name, checked) { var radioHtml = ''; var radioFragment = document.createElement('div'); radioFragment.innerHTML = radioHtml; return radioFragment.firstChild; }
根据这篇文章及其评论:http: //cf-bill.blogspot.com/2006/03/another-ie-gotcha-dynamiclly-created.html
以下作品.显然问题是你无法在IE中动态设置name属性.我还发现你也无法动态设置checked属性.
function createRadioElement( name, checked ) { var radioInput; try { var radioHtml = ''; radioInput = document.createElement(radioHtml); } catch( err ) { radioInput = document.createElement('input'); radioInput.setAttribute('type', 'radio'); radioInput.setAttribute('name', name); if ( checked ) { radioInput.setAttribute('checked', 'checked'); } } return radioInput; }