.innerHTML を使用して表のセル内のテキストを変更しようとして問題が発生しました。作成したラジオボタンのいずれかがチェックされたときに、セル内のプレーンテキストをリンクに変更したい。関連するコードは次のとおりです。
HTML:
...<td id="header1" style="width: 80px; text-align:center">Column 1</th>...
<div id="testButtons">
<input type="radio" name="on/off" onclick="showLinks()" value="off" id="off" checked="">
<label for="off">Function Off</label>
<input type="radio" name="on/off" onclick="showLinks()" value="on" id="on">
<label for="on">Function On</label>
</div>
そしてJavascript:
function showLinks(){
if(document.getElementById("on").checked){
document.getElementById("header1").innerHTML("<a id='headerLink1' href='#' onclick='selectColumn()'>Column 1</a>");
}
}
テストすると、次のエラーが表示されます: Uncaught TypeError: オブジェクト #HTMLTableCellElement のプロパティ 'innerHTML' は関数ではありません。
少なくともMSDNによると、これはうまくいくように見えるので、理由はわかりません(「ただし、特定のセルのコンテンツを変更するには、innerHTMLを使用できます。」)。
助けていただければ幸いです、ありがとう