javascript - Cannot read value 'visibility' of undefined - J -


i using jquery. whenever menu.tog function called, seems forget 'this' (menu) is. have tried replacing 'this' 'menu' in function.

    var usn = $("#userstuff"); var menu = $('#userinfo');  menu.height('0px');  menu.tog=function() { if (menu.css('visibility','hidden')=='hidden')     menu.css('visibility','visible'); else     menu.css('visibility','hidden'); } 

this should work:

// use 'menu', not '$(menu)' , don't write 'px' // or in 1 row: var menu = $('#userinfo').height(0); var menu = $('#userinfo'); menu.height(0);  // `tog` function called, there may not referenced // 'this', instead use 'menu' // keep in mind, 'menu' jquery object here, not dom element menu.tog = function() {     if ( menu.css("visibility") == "hidden" ) {         menu.css("visibility", "visible");     }     else {         menu.css("visibility", "hidden");     }      // or in 1 line too:     // menu.css("visibility", menu.css("visibility") == "hidden" ? "visible" : "hidden"); };  menu.tog(); 

Comments