Jquery 添加/删除单击时单独 div 的类
#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。我需要更改它以删除显示:无;
谢谢
#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');
});
What I'm trying to do is show a div when I click on an "a" element. I need to change it to remove the display: none;
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您是否尝试过使用
.show()
?学习深入研究 jQuery API 文档。他们会回答您 99% 的问题。
Have you tried using
.show()
?Learn to dig through the jQuery API docs. They will answer 99% of your questions.
如果你想显示一些东西,请使用 show();
如果使用 display:none 隐藏某些内容,则使用 show() 显示隐藏元素
If you want to display something use show();
if something is hidden with display:none, using show() display the hidden element
您可以使用
$(elem).hide()
和$(elem).show()
添加/删除“display:none;”还有一个
.toggle()
函数,其中包含您要执行的操作的示例: http://api.jquery.com/toggle/You can use
$(elem).hide()
and$(elem).show()
to add/remove "display:none;"There is also a
.toggle()
function with an example of what you're trying to do: http://api.jquery.com/toggle/您可以使用
document.getElementById('rv-active').style.display="block";
或$('#rv-active').css("display" ,"block");
并直接设置#rv-active
样式,而不是像这样使用所有其他 div:getElementById 可能不是一个理想的工具,但它很有用,尤其是对于事物像这样。
有关 getElementById 的更多信息此处,以及有关 .css() 方法的更多信息此处。
You could've used
document.getElementById('rv-active').style.display="block";
or$('#rv-active').css("display","block");
and instead styled#rv-active
directly instead of with all those other divs like this:getElementById might not be an ideal tool, but it's useful, especially for things like this.
More about getElementById here, and more about the .css() method here.
您发布的代码应该可以工作(尽管很多人已经注意到,使用 jQuery 的
show
函数比删除该类更容易)。但是,我认为您的问题在于您的代码在文档完全加载之前运行,因此引用的元素不存在。
试试这个:
The code you have posted should work (although many people have already noted, it would be easier to use jQuery's
show
function rather than removing the class).However, I think your problem lies in the fact that your code is running before the document is fully loaded, and therefore the elements referenced do not exist.
Try this instead: