Jquery单击添加/删除单独div的类

时间:2011-07-01 14:10:49

标签: jquery addclass

 #bottomToolbar #facet-container #tb-facets .info-toolbar #rv-active {
position:relative;
 }

 .tb-1-5 {
display:none;
}


 <div id="bottomToolbar">
    <div id="facet-container">
<ul id="tb-facets">
    <li class="info-toolbar">
    <a id="info-tb-1">Recently Viewed</a>
    <div id="rv-active" class="tb-1-5">Hello World</div></li>
    <li class="info-toolbar">Favorites</li>
    <li class="info-toolbar">Wish List</li>
</ul>
</div>
   </div>


$('#info-tb-1').bind('click', function() {
        $('#rv-active').removeClass('tb-1-5');
    });

我要做的是在点击“a”元素时显示div。我需要更改它以删除display:none;

由于

5 个答案:

答案 0 :(得分:2)

您是否尝试过使用.show()

$('#info-tb-1').click(function()
{
    $('#rv-active').show();
});

学习挖掘jQuery API docs。他们将回答99%的问题。

答案 1 :(得分:2)

如果要显示某些内容,请使用show();

$('#info-tb-1').bind('click', function() {
        $('#rv-active').removeClass('tb-1-5').show();
    });

如果使用display:none隐藏某些内容,则使用show()显示隐藏元素

答案 2 :(得分:1)

您可以使用$(elem).hide()$(elem).show()添加/删除“display:none;”

还有一个.toggle()函数,其中包含您尝试执行的操作示例:http://api.jquery.com/toggle/

答案 3 :(得分:1)

你可以使用document.getElementById('rv-active').style.display="block";$('#rv-active').css("display","block");代替#rv-active而不是像这样的所有其他div:

#bottomToolbar #facet-container #tb-facets .info-toolbar {
  position:relative;
}

 #rv-active {
  position:relative;
  display:none;
}

getElementById可能不是一个理想的工具,但它很有用,特别是对于这样的事情。

有关getElementById here的更多信息,以及有关.css()方法here的更多信息。

答案 4 :(得分:1)

您发布的代码应该有效(尽管许多人已经注意到,使用jQuery的show函数而不是删除类会更容易)。

但是,我认为您的问题在于您的代码在文档完全加载之前运行,因此引用的元素不存在。

请改为尝试:

$(document).ready(function() {
    $('#info-tb-1').bind('click', function() {
        $('#rv-active').show();
    });
});