scala-js / scala-js-dom

Statically typed DOM API for Scala.js
Other
315 stars 160 forks source link

`Element#id` returns undefined #757

Open zetashift opened 1 year ago

zetashift commented 1 year ago

Element#id can return undefined, which can throw at times. Neither the spec, nor TypeScript prescribe anything.

https://dom.spec.whatwg.org/#ref-for-dom-element-id%E2%91%A0

Is the current situation enough, or do we want to return a UndefOr[String]?

zetashift commented 1 year ago

In trying to reproduce this, I made the following:

const myElement = document.createElement("div")
console.log(myElement.id) // returns an empty string, ""

// const myApp = document.querySelector("notMyApp");
// ^^ will return null before you can access it

Can check it out here: https://jsfiddle.net/e5h0zx6v/ So I believe in practical usecases returning undefined will almost never happen, and that's maybe why the spec doesn't really mention it?

armanbilge commented 1 year ago

So I believe in practical usecases returning undefined will almost never happen

Yeah, I wonder if actually you discovered a browser bug.