詩の話とかWebっぽい話とか、とにかく雑多に。
2009年01月08日
innerHTMLとかのテスト
その筋では既知っぽいっていうか、調べてみたら既知だった挙動テストその3。「HereClick!」というボタンを押すと何も入っていないプルダウンメニューに「OPTION 01」「OPTION 02」「OPTION 03」という選択肢が出現します(生成された際に表示される値は「OPTION 01」)。IE以外は!!
このJavaScriptのコードは以下の通り。
<script>
<!--
function test_button_02() {
var html;
var values = new Array("OPTION 01", "OPTION 02", "OPTION 03");
for (var i = 0; values[i]; i++) {
html += '<option>' + values[i] + '</option>';
}
var node = document.getElementById('test_select_02');
node.innerHTML = html;
}
-->
</script>
<form>
<select id="test_select_02">
</select>
<input type="button" onClick="test_button_02()" value="HereClick!">
</form>
えー、IEではselectタグの中にJavaScriptで動的に直接optionを追加できません。なんでこういうことになるのか、さっぱり意味が分かりませんorz
ついでに、もう一つテスト。
下のボタンを押すとこの段落の内容がアラート・ウィンドウ表示されます、普通のブラウザの場合。
これもJavaScriptのコードは以下の通り。
<script>
<!--
function test_func_03() {
var isMSIE = /*@cc_on!@*/false;
var node = document.getElementById('description');
if (isMSIE) {
alert(node.content);
}
else {
alert(node.firstChild.nodeValue);
}
}
-->
</script>
<div>
<input type="button"
onClick="test_func_03()" value="押してみて?">
</div>
idが"description"のタグを探して来いって指定してるのに、なんでIEはnameが"description"のmetaタグを拾ってくるんだよ!! IEのこのいい加減な挙動をどうにかしてぇ><