scala-js/scala-js-dom

`Element#id` returns undefined

zetashift opened this issue · 2 comments

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]?

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?

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

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