ebody: Mal wird HTML, mal ein Objekt ausgegeben

problematische Seite

Hallo,

ich selektiere einen <button> und gebe diesen aus:

<button id="btn">Button</button>
let btn = document.getElementById('btn');
console.log(btn);

var btn2 = document.querySelector('button#btn');
console.log('btn2: ', btn2);

document.querySelector('#btn').addEventListener('click', (event)=>{  
  console.log('btn: ', document.querySelector('button#btn'));
});

Ändere ich etwas am Script wird ein Objekt ausgegeben, danach wird das HTML Element ausgegeben.

Objekt, dann HTML Element

Ich möchte immer das Objekt ausgeben, um darauf zugreifen zu können. Wie kann ich das machen?

Gruß ebody

  1. problematische Seite

    @@ebody

    Ich möchte immer das Objekt ausgeben, um darauf zugreifen zu können.

    Nein, das möchtest du nicht. Die Kausalität besteht nicht.

    Und ich verstehe dein Problem nicht.

    😷 LLAP

    --
    “When I was 5 years old, my mother always told me that happiness was the key to life. When I went to school, they asked me what I wanted to be when I grew up. I wrote down ‘happy.’ They told me I didn’t understand the assignment, and I told them they didn’t understand life.” —John Lennon
  2. problematische Seite

    Hallo ebody,

    das scheint ein Anzeigeproblem in den Developer-Tools zu sein. Ich bekomme diese Darstellung auch (in Chrome und Edge), wenn ich in JSFiddle den RUN Button mehrfach schnell hintereinander drücke. Es scheint, als ob in dem Moment, wo der Debugger den Logeintrag ausgibt, das DOM nicht mehr gültig ist und er nur noch die ID hat.

    Es ist aber jedesmal das Objekt, was Du bekommst.

    Probiere: console.log(btn.constructor.name);

    Sollte jedesmal HTMLButtonElement ausgeben.

    Rolf

    --
    sumpsi - posui - obstruxi