Having some trouble selecting class names with plain \'ol vanilla javascript:
var email = document.getElementsByClassName(\'email\');
var phone = document.getEle
Hint:
document.getElementsByClassName
-- Notice that is plural. It returns an nodeList
or a null
.
First step of debugging should have been a console.log(phone)
and see what value it did have.
Without seeing your markup, I have to take some guesses but try:
var email = document.getElementsByClassName('email')[0];
var phone = document.getElementsByClassName('phone')[0];
Edit: Returns a nodeList
which is array-like, but not actually an array.
document.getElementsByClassName
returns a nodeList
. You would access it similarly to an array of elements.
changed to nodeList
getElementsByClassName
is not defined so your email
and phone
variables are undefined. phone
and email
are loaded then email
and phone
will be undefined. getElementsByClassName
return a node list so you should actually define email
and phone
.Code:
var email = document.getElementsByClassName('email')[0];
var phone = document.getElementsByClassName('phone')[0];
Update: Or loop through the array:
for(var i = 0; i < phone.length; i++)
{
phone[i].style.display = "none";
}