scala-js-dom icon indicating copy to clipboard operation
scala-js-dom copied to clipboard

`Element#id` returns undefined

Open zetashift opened this issue 1 year ago • 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]?

zetashift avatar Jan 22 '23 04:01 zetashift

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?

zetashift avatar Jan 22 '23 15:01 zetashift

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

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

armanbilge avatar Jan 22 '23 16:01 armanbilge