32

I have a form DOM element:

var virDom = document.getElementsByTagName("form")[0];

virDom has two fields with IDs creditId and pwdId... I can access virDom.creditId without any issue, but virDom.pwdId.. is failing with a syntax error, because of the periods contained in the name.

How can I access such properties?

Peter Mortensen
  • 30,030
  • 21
  • 100
  • 124
user1673257
  • 431
  • 1
  • 4
  • 5

2 Answers2

57

Use bracket notation:

virDom['creditId']
virDom['pwdId..']

This applies to any object, and it is particularly useful for non-identifier-safe characters and also for accessing keys that you may not know ahead of time.

Felix Kling
  • 756,363
  • 169
  • 1,062
  • 1,111
Niet the Dark Absol
  • 311,322
  • 76
  • 447
  • 566
0

For a nested object with a special character like below,

var details = {"name-details": {"first-name": "Kiran"}}

use

console.log(details["name-details"]["first-name"])
Kiran Poojary
  • 65
  • 1
  • 4