■
セルが複数あるリストボックスのハマリ。
要素の追加方法。
text[0]〜text[LISTSIZE-1]に表示したい文字列が格納とする var item = listbox.appendItem(text[0]); for(i=1;i<LISTSIZE;i++){ item.appendChild( opener.document.createElement('listcell') ).setAttribute('label', text[i]); } }
のように,追加すると,うまくいかない。
text[0]が,最初のセルに追加されない(表示はされるが,DOMツリー上はおかしなことになっている)
追加するには,
普通にDOM APIを使ったほうがいい。
var item = document.createElement("listitem"); for(i=0;i<LISTSIZE;i++){ item.appendChild( opener.document.createElement('listcell') ).setAttribute('label', text[i]); } listbox.appendChild(item);
のようにする。
ここで,listbox.appendChildは,最後にすること。
まずlistbox.appendChildをcreateElement直後に入れると,
listitemの最初のセルに,空のlistcellが親切(?)に追加されてしまう。
DOM APIのふるまいがよくわからない…