Atrribute setzen
Jürgen Schomann
- dhtml
Hi,
ich versuche folgendes in JavaScript
var SELECT_LIST = "select";
var SELECT_LIST_OPTION = "option";
var ID_SELECT_LIST = "_str_select_list";
var _html_obj;
_html_obj = document.createElement(SELECT_LIST);
_html_obj.setAttribute("id", ID_SELECT_LIST);
_html_obj.setAttribute("onClick", "alert('Test');");
document.body.appendChild(_html_obj);
_html_obj = document.createElement(SELECT_LIST_OPTION);
document.getElementById(ID_SELECT_LIST).options[0] = _html_obj;
_html_obj.selected = true;
_html_obj.text = "aaa";
_html_obj = document.createElement(SELECT_LIST_OPTION);
document.getElementById(ID_SELECT_LIST).options[1] = _html_obj;
_html_obj.text = "bbb";
aber im IE 6 erfolgt keine Reaktion beim anklicken der Liste. In Netscape 7 klappt es.
Wenn ich die Liste zusammenstelle und mit innerHTML zuweise geht es bei beiden. Ich möchte aber gerne die o. g. Version, da innerHTML zum all-Objekt gehört und damit IE-spezifisch und nicht rein DOM-spezifisch ist.
Kann mir jemand dazu etwas sagen?
Vielen Dank im voraus.
Jürgen
Hi,
_html_obj.setAttribute("onClick", "alert('Test');");
versuchs mal mit "onclick"
oder
_html_obj.onclick = funktionsname_ohne_runde_klammern;
Ich möchte aber gerne die o. g. Version, da innerHTML zum all-Objekt gehört und damit IE-spezifisch und nicht rein DOM-spezifisch ist.
Falsch! innerHTML ist nicht IE-spezifisch!
innerHTML gehört ebenso zu allen Gecko-Browsern! Opera kennt es auch!
http://www.mozilla.org/docs/dom/domref/dom_el_ref8.html
Kann mir jemand dazu etwas sagen?
Die zweite Variante oben ist doch ganz schick! Aber du kannst auch ruhig innerHTML nehmen!
Gruß
Christian