为什么我不能getElementByName?
<form class="form" action="#">
<p class="EmptySlot" hidden>
<input name="characters" type="radio" id="empty" disabled="disabled"/>
<label for="empty">Пустой слот</label>
</p>
</form>
然后:
$(".form").append('\
<p>\
<input name="character" type="radio" id="' + notformatname + '" value="' + notformatname + '"/>\
<label for="' + notformatname + '" id="charlabel">' + formatname + '</label>\
</p>');
它不起作用:
var radios = document.getElementsByName('character');
答案 0 :(得分:0)
该方法将返回一个集合,而不是单个元素。你可以试试......
$(".form")[0].append('\
<p>\
<input name="character" type="radio" id="' + notformatname + '" value="' + notformatname + '"/>\
<label for="' + notformatname + '" id="charlabel">' + formatname + '</label>\
</p>');
应该获得属于“表单”类的第一个表单。
第二个应该有用,但请记住“无线电”也是一个集合。
答案 1 :(得分:0)
.getElementsByName可能会返回多个元素。
要获取返回元素列表中的第一项,请尝试:
var radios = document.getElementsByName('character')[0];