javascript - JS/DOM 中不可见的 TextNode

标签 javascript html dom

我有这样的JS代码:

    var option = document.createElement("input");
    option.id = "id";
    option.type = "radio";
    var txt = document.createTextNode("sample");
    option.appendChild(txt);

但是这个“样本”在网站上是不可见的。 HTML 结构如下(在 Firebug 中):

<form id="answers"><input type="radio" id="id">sample</input></form>

但默认的 Firefox 检查器是:

<form id="answers"><input type="radio" id="id"></input></form>

我尝试过使用innerHTML,但存在同样的问题。我只是没有看到 <input> 之间的任何内容标签。 您有什么建议?

最佳答案

您创建元素但不将它们附加到表单中。你应该使用这样的东西:

document.getElementById('answers').appendChild(option);

通过这种方式,您将把新创建的选项元素附加到 ID 为“answers”的表单中。

请记住,在输入类型的单选按钮中包含文本在概念上是错误的!

关于javascript - JS/DOM 中不可见的 TextNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25384868/

相关文章:

javascript - JavaScript 中的单位转换

javascript - 无法从 Angular Controller 更新标签文本

javascript - 使用javascript从表中删除列

javascript - 通过javascript单击单个复选框时选择/取消选择所有复选框

javascript - 这个递归函数有什么问题?

javascript - 是否可以为 firefox 创建一个插件,在网页上生成一个或多个点击事件?

html - 将文本区域和表单放置在 div 底部会扭曲文本区域的宽度

javascript - 当通过键盘选择 `<option>`时如何捕获?

java - 如何在不使用 JAXB 的情况下以编程方式创建 XSD 文件和 XML?

javascript - 像 JavaScript 函数一样执行 facebook 吗?