Конечно, если вы собираетесь использовать innerHTML в Javascript, вы можете просто перезагрузить весь бит флажка и установить его или нет.Однако более простой способ сделать это - просто поменять проверенный атрибут в Javascript, если вы все равно будете использовать JS.
document.getElementById("myCheckboxId").checked = true;
EDIT
Хорошо, так что вы должны иметь возможностьчтобы получить это снова с innerHTML в будущем.Как я уже говорил в первом предложении, вы можете просто использовать innerHTML, чтобы изменить флажок.Может быть немного хакерским, но может быть хорошо, если вы уже делаете это.
Вот тестовая html-страница со ссылками, чтобы проверять / снимать галочку с помощью JS, проверять / снимать галочку, меняя весь флажок с innerHTML, иполучить innerHTML для тестирования.Когда вы делаете swap innerHTML, он фактически меняет то, что возвращает innerHTML позже.Это то, что вы имеете в виду?Примечание: хм, я не осознавал этого до сих пор, но похоже, что Firefox меняет мою проверено на флажок = "проверено" , интересно.Поэтому ссылка view innerHTML показывает мне checked = "checked" , а при отсутствии проверки ничего не показывает.Firebug показывает, что он также меняется, но немного по-другому - переходя от checked = "" к нулю.
Вот jsfiddle !
<span id="testdiv1"><input type="checkbox" name="heyhey" id="heyhey" CHECKED></span>
<p>
<a href="#" onClick="document.getElementById('heyhey').checked = false;">uncheck via JS</a><br>
<a href="#" onClick="document.getElementById('heyhey').checked = true;">check via JS</a><br>
<a href="#" onClick="document.getElementById('testdiv1').innerHTML = '<input type=\'checkbox\' name=\'heyhey\' id=\'heyhey\' >';">uncheck via innerHTML swap</a><br>
<a href="#" onClick="document.getElementById('testdiv1').innerHTML = '<input type=\'checkbox\' name=\'heyhey\' id=\'heyhey\' checked>';">check via innerHTML swap</a><br>
<a href="#" onClick="alert('innerHTML!: '+'\n\n'+getElementById('testdiv1').innerHTML)">view innerHTML</a>
</p>
Я не знаю, правильно ли я все это избежал, но работает на меня.Лучше не делать этого в строке.