2016-02-03 68 views
-3

我想使div出现在我点击另一个div时。我正在考虑通过使用JavaScript来改变div的类别,当其他div被点击时。JavaScript:如何通过点击另一个div来更改div的类?

这是我希望出现在div的HTML:

<div id="menutext1" class="hidden"></div> 

这是控制div(一点击,使上述div出现)的HTML:

<div id="menu1"></div> 

这是CSS:

.hidden { display: none; } 

.unhidden { display: block; } 

我已经LO无处不在,没有任何东西可以为我工作!

我对JavaScript或JQuery没有多少经验,但我可以理解它。

感谢提前:))

回答

0

.addClass(),.removeClass()应该做你所需要的。 .toggleClass()也可能有用。你想要做这样的事情在你的onClick()方法:在toggleClass(),如果你希望能够隐藏/取消隐藏

$('#menu1').click(function() { 
    $('#menutext1').addClass('unhidden') 
}); 

交换。我应该补充说这些是JQuery函数,因此请确保在您的项目中包含JQuery。

+0

对于OP - 虽然这个jQuery必须工作 - 我* HIGHLY *建议您先学习原生JavaScript(以及) –

0

您有几种选择来实现这一目标:

$('#menu1').on('click', function(){ 
    $('#menutext1').show(); 
    // OR 
    $('#menutext1').toggleClass('hidden unhidden'); 
    // OR 
    $('#menutext1').removeClass('hidden ').addClass('unhidden'); 
}); 

Demo

注:使用jQuery和DOM操纵的工作有一个看看.ready()功能。


参考

.on()

.toggleClass()

.removeClass()

.addClass()

.show()

0

您可以使用classList.toggle方法在没有JQuery的情况下执行此操作。而你并不需要unhidden类。当hidden类被关闭时,div应该返回到它的默认显示(块)。

// get the element you want to click on 
var controlDiv = document.getElementById('menu1'); 

// assign a function to run when it is clicked 
controlDiv.addEventListener('click', function() { 
    // turn the hidden class off or on 
    document.getElementById('menutext1').classList.toggle('hidden'); 
}); 
相关问题