我有以下几行Javascript代码:

objRadioElement = document.createElement('<input type="radio" name="rdUserDefined8" value="basketball" class="UDFRadioClass" disabled>');


它在Firefox(可能是其他浏览器,但我遇到一些调试问题)中导致InvalidCharacterError。谁能告诉我为什么?

最佳答案

document.createElement不采用HTML字符串;它采用您要创建的元素的名称:

var element = document.createElement('input');
element.setAttribute('type', 'radio');
// etc.


这是jQuery方便的原因之一;您可以使用以下HTML字符串创建一个元素:

var objRadioElement = $('<input type="radio" name="rdUserDefined8" value="basketball" class="UDFRadioClass" disabled>');


没有jQuery时,您可以采取的一种捷径是创建一个容器元素,使用HTML字符串设置其innerHTML属性,然后从那里获取该元素:

var container = document.createElement('div');
container.innerHTML = '<input type="radio" name="rdUserDefined8" value="basketball" class="UDFRadioClass" disabled>';
var radioElement = container.firstChild;

09-16 20:16
查看更多