Skip to content

[Web API type definition issue] Node.parentElement has wrong type #2021

Open

Description

@trusktr

Summary

Node.parentElement has type HTMLElement | null but it should be Element | null

Expected vs. Actual Behavior

Expected: node.parentElement type to be Element | null
Actual: HTMLElement | null

Playground Link

https://www.typescriptlang.org/play/?#code/MYewdgzgLgBKZQIYEswFMBOMC8MAmIwArgLZoIB0wGaiUaAogDZpkIAUA5HsgG6cBKAFDwkqTBVToMACQAqAWQAyOGJwA8EXgHMAfOr3qA9IaNa9nISPDQY21aJTSKAM2QZozVuSgBhABbITHgAhK7unixsfoHBMIgQMADKAGoA4mle0VbwECAsFEwg2uzaFAAOiDQIWT4wqNCIYMBoIC7J6bUIAjBGRjBQGERoMDk2sNoATKplldVQXbAJHZlRPmOQ+WiFxaXTDUjNre2pq97dvf2ITHkDQ2hCQA

Browser Support

  • This API is supported in at least two major browser engines (not two Chromium-based browsers).

Have Tried The Latest Releases

  • This issue applies to the latest release of TypeScript.
  • This issue applies to the latest release of @types/web.

Additional Context

Proof: run the example in the playground.

Similar to:

Activity

  1. HolgerJeromin commented on May 15, 2025

    @HolgerJeromin
    Contributor

    Typescript does not want to be precise but also usable.
    Having errors on code like this would be annoying, too

    const div = document.createElement('div')
    console.log(div.parentElement?.style.display)
  2. saschanaz commented on May 15, 2025

    @saschanaz
    Contributor

    Also dupe of #1706 (which is again dupe of #1151)

  3. HolgerJeromin commented on May 16, 2025

    @HolgerJeromin
    Contributor

    (which is again dupe of #1151)

    which was opened by .... trusktr himself :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions