getElementById.appendChild nem megy IE7/7 alatt
Sziasztok !
Az alábbi kód nem működik IE6/7 alatt, azaz a "valami" id-jű select-be nem ír semmit.Valami ötlet ?
■ Az alábbi kód nem működik IE6/7 alatt, azaz a "valami" id-jű select-be nem ír semmit.
var elem = document.createElement("option");
elem.text = "akarmi";
document.getElementById("valami").appendChild(elem);
De működik.
most nézem
Amúgy minden más böngészőn megy, de IE8 alatt üres marad a select.
Érdekes viszont, hogy hibajelzés sincs az IE-ben.
Semmi sem indokol hibát
biztos igazad van, csak...
Értéket nem akarok adni egyik option elemnek sem, mert egy függvénnyel lekezelem a this.selectedIndex-et.
További segítség
Én setAttribute-al állnék
Felesleges túlbonyolítani,
Az MSDN HTMLOptionElement
Én inkább arra tippelek, hogy a szülőnek kiszemelt #valami elemmel van gond. De persze ezt nincs hogy megtudjuk a szűkszavú példakódból.
Az MSDN-nel az a baj, hogy
Régi böngészőknél, ha létrehozol egy 'option' elemet DOM függvényekkel, nem ugyanaz, mintha HTMLOptionElement-et készítenél.
Erre én is gondoltam, de
Alternatív megoldás
Próbálj meg TextNode-al
ja
(azt viszont látom, hogy IE9 alatt nem működik)
Csak azt magyarázzátok el, a 4. hsz alatti kód miért működik IE8 alatt is ?
Azért én kipróbálnám az ősi
működött:
na kicsit próbálgattam, és
Ha az option elemet a createElement metódussal hozom létre akkor a option.text = "érték" hatástalan lesz ellenben az option.appendChild(document.createTextNode("érték")) viszont működik.
Ha az option elemet a Option konstruktorral hozom létre akkor a select elem add metódusát használva lehet hozzá adni az appendChild nem jó:
select.add(option);
köszönet
Mégegyszer hálás köszönet minden hozzászólónak a tanácsokért, gondolatébresztő segítségért !