Откровенно говоря, я просто дал бы им Camel. Это - такая читаемая и интересная книга, они будут в порядке в мгновение ока. Я все еще смеюсь о 'Perl, содержит правду, чтобы быть самоочевидным', и это должны быть десять лет, с тех пор как я сначала считал его.
Sitepoint ложь говорит о другом использовании «имени» (см. Комментарий Энтони). Это не только для чтения, просто существует давняя ошибка IE (до v7), когда установка имени в полях формы эффективна только частично. Радиокнопки, в частности, не принимают его должным образом.
Решение, одобренное Microsoft, , как подробно описано здесь , заключается в использовании ужасающей ошибки в версии IE вызова createElement для одновременной установки атрибутов:
var radio= document.createElement('<input type="radio" name="test" value="a" />');
Вероятно, лучшим способом было бы просто использовать старый добрый innerHTML, например :[1212 impression
Вы пробовали просто присвоить новое имя свойству elements name
? Я не уверен, насколько это кроссбраузерно, но он должен работать со всем, что поддерживает уровень DOM 1.
Я не уверен, зачем вам использовать setAttribute для этого?
У меня это сработало
alert(document.getElementById('testInput').name);
document.getElementById('testInput').name = 'someName';
alert(document.getElementById('testInput').name);
С
<input type="radio" name="test" id="testInput" />
Свойство name не читается только для входных элементов.
См. спецификацию .
Глядя на Совместимость с W3C DOM - Core , вы можете попробовать использовать setAttributeNode () вместо setAttribute (). Может работать в IE 6 и более поздних версиях.