我在使用链接显示所选标签式div时遇到了一些麻烦:
<script>
$(function(){
$('ul#tabs>li a').click(function(e){
e.preventDefault();
var tab = $(this).attr('href');
$(tab).css('display', 'block');
$(tab).siblings('div').css('display', 'none');
})
});
</script>
这是HTML:
<div id="tabsBox">
<ul id="tabs">
<li><a href="#a">A</a></li>
<li><a href="#b">B</a></li>
<li><a href="#c">C</a></li>
</ul>
<div id="#a">A content</div>
<div id="#b">B content</div>
<div id="#c">C content</div>
</div>
这是在JSFiddle http://jsfiddle.net/9xrjD/
中有没有人知道它为什么不起作用?
答案 0 :(得分:2)
您在我的ID中添加了#a
而不是a
,因为#
已用于定义您在html id=
中不需要的ID
修正了jsfiddle http://jsfiddle.net/9xrjD/2/
答案 1 :(得分:1)
替换
<div id="#a">A content</div>
<div id="#b">B content</div>
<div id="#c">C content</div>
使用
<div id="a">A content</div>
<div id="b">B content</div>
<div id="c">C content</div>
您的功能确实有效,但实际上您并没有将<div>
隐藏在CSS中。
#a, #b, #c {
display: none;
}
将使用ID a
,b
和c
隐藏所有元素,而不是#a
,#b
和#c
。