我有以下几行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;