2015-03-18 3 views
0
click: function(event, data) { 
    $('#clicked-state') 
     .text('You clicked: '+data.name); 
     if (data.name == "VA") { 
      $('#va').toggle(); 
     } 
      else { 
      $('#va').style.display = 'none'; 
     } 
    } 
}); 

У меня есть идея, если щелкнуть другое состояние, div id VA скроется. В настоящее время вы нажимаете «VA», а div VA переключается, но когда вы нажимаете другое состояние, VA все еще остается, ему нужно hide!если инструкция toggle div else hide div broken

+3

Почему бы не '$ ('# va'). Hide();' вместо '$ ('# va'). Style.display = 'none';'? –

ответ

1

Неверно!

$('#va').style.display = 'none'; 

попробовать

$('#va')[0].style.display = 'none'; 

или

$('#va').get(0).style.display = 'none'; 

или

$('#va').hide(); 
0
something.style.display = 'none'; 

... это ваниль JavaScript путь.

$('something').hide(); 

... является способом jQuery.

Если вы предпочитаете ванильный JS-способ, вы можете получить первый элемент объекта jQuery, который позволит вам использовать style.display, потому что он передает его в DOMElement.

$('something')[0].style.display = 'none'; // Cast to DOMElement rather than using a jQuery object