Javascript JS:单击h1将另一个div的display设置为none
我对使用js编写脚本非常陌生。我的问题是,如何在h1设置onclick,从而在另一个div中将显示设置为none 这是我的代码: 变压器Javascript JS:单击h1将另一个div的display设置为none,javascript,css,Javascript,Css,我对使用js编写脚本非常陌生。我的问题是,如何在h1设置onclick,从而在另一个div中将显示设置为none 这是我的代码: 变压器 function toggleGroups() { function getAllGroups() { titlebars = document.getElementsByClassName('titlebar_js');
function toggleGroups()
{
function getAllGroups()
{
titlebars = document.getElementsByClassName('titlebar_js');
groupfields = document.getElementsByClassName('inner_groups_gether');
for(i = 0; i < titlebars.length;i++)
{
tb = titlebars[i];
iter = i;
tb.onclick = function()
{
alert(iter);
groupfields[iter].style.display = 'none';
}
}
}
getAllGroups();
}
window.onload = function()
{
toggleGroups(); // Aufruf der Funktion
}
它不起作用。你真的应该看看javascript库,比如。你陷入了一个常见的JS闭包错误。试试这个:
tb.onclick = function(val) {
return function() {
alert(val);
groupfields[val].style.display = 'none'; }
}(iter);
在这里,您可以阅读有关使用闭包和事件处理程序的更多信息:
嘿,另一个人是对的,jQuery非常适合快速解决这个问题。例如:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">
jQuery(window).bind("load", function() {
$('h1').click(function() {
$('div.toBeHidden').css('display','none');
});
});
</script>
</head>
<body bgcolor="yellow">
<h1>Click me!</h1>
<div class="toBeHidden">
This block will be hidden after clicking the h1...
</div>
</body>
</html>
在这里,您告诉浏览器抓取任何h1标记,并使类为toBeHidden的div消失
您可以学习jQuery。这肯定是值得的。在开始使用jQuery之后,我很少再使用纯javascript。-1:这太模糊了,没有什么用处。链接到一个类似于使用jQuery的请求的示例,很好,但这不是特别有用。不够:询问者希望每个h1隐藏其各自的div,而不是所有div。
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">
jQuery(window).bind("load", function() {
$('h1').click(function() {
$('div.toBeHidden').css('display','none');
});
});
</script>
</head>
<body bgcolor="yellow">
<h1>Click me!</h1>
<div class="toBeHidden">
This block will be hidden after clicking the h1...
</div>
</body>
</html>