1

您的普通单选按钮有名称和值,但旁边还有一些文本,在本例中为“更改此文本”。

如何在 javascript 中更改它?甚至警告它?AFAIK,它不是 .inner html。

HTML:

            <input type="radio" name="radioOption1" value="Array 1"> Change this text

Javascript

    var confirmIExist = document.getElementsByName("radioOption1");
alert(confirmIExist.innerHTML);
    //alerts undefined

如果不是 .innerHTML,它是什么?如果我使用 getElementByName 或 getElementById 获取输入对象,那么之后的哪个块代表警报文本?

4

4 回答 4

3

您不能为输入元素设置内部 html。而是用 a 包裹你的文本并给它一个 ID

<input type="radio" name="radioOption1" value="Array 1"> <label id="radioText">Change this text</label>
于 2013-08-12T04:59:12.150 回答
3

您可以使用alert(confirmIExist[0].nextSibling.textContent),但是将文本放在单选按钮旁边的 a 中<label>然后获取其内部 html不是更好吗

<input type="radio" id="radioOption1" name="radioOption1" value="Array 1"><label for="radioOption1" id="r1option">Change this text</label>
...
var label = document.getElementById("r1option");
alert(label.innerHTML);
于 2013-08-12T05:01:41.823 回答
0

input是一个自闭元素。它不能有innerHTML

nextSibling将返回单选按钮后面的节点。

document.getElementsByName('radioOption1')[0].nextSibling.nodeValue = 'Text changed';

jsFiddle 演示

于 2013-08-12T05:01:36.613 回答
0

确认IExist[0].nextSibling.textContent="abc"

于 2013-08-12T05:08:00.960 回答