我有以下 Javascript 代码行:
objRadioElement = document.createElement('<input type="radio" name="rdUserDefined8" value="basketball" class="UDFRadioClass" disabled>');
它导致了InvalidCharacterError
Firefox (可能是其他浏览器,但我遇到了一些调试问题)。谁能告诉我为什么?
我有以下 Javascript 代码行:
objRadioElement = document.createElement('<input type="radio" name="rdUserDefined8" value="basketball" class="UDFRadioClass" disabled>');
它导致了InvalidCharacterError
Firefox (可能是其他浏览器,但我遇到了一些调试问题)。谁能告诉我为什么?
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 可以采用的一种快捷方式是创建一个容器元素,innerHTML
使用您的 HTML 字符串设置其属性,然后从那里获取该元素:
var container = document.createElement('div');
container.innerHTML = '<input type="radio" name="rdUserDefined8" value="basketball" class="UDFRadioClass" disabled>';
var radioElement = container.firstChild;