0

我有以下 Javascript 代码行:

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

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

4

1 回答 1

2

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;
于 2013-07-24T18:19:12.457 回答