我想根据链接点击显示内容。并隐藏之前选择的内容。
有什么办法吗? 注意:我不想更改标记。
HTML:
<ul class="nav nav-stacked" id="nav-stacked">
<li class="active"><a href="#" onclick="show_content('dashboard', this)"><i class="fa fa-dashboard fa-fw"></i>Dashboard</a>
</li>
<li id="vollist-container" class="menu open"><a href="#" class="menu-toggle"><i class="fa fa-sort-alpha-asc fa-fw"></i>Volumes<i class="caret"></i></a>
<ul id="vol-list" class="submenu">
<li> <a href="javascript:void(0);" onclick="show_content('vol1', this)">
<span>vol1</span>
</a>
</li>
<li> <a href="javascript:void(0);" onclick="show_content('vol2', this)">
<span>vol2</span>
</a>
</li>
</ul>
</li>
</ul>
<div id="content">
<div id="dashboard" class='show'>dashboard</div>
<div id="volumes">
<div id="vol1" class="hide">vol 1</div>
<div id="vol2" class="hide">vol 2</div>
</div>
</div>
jQuery的:
function show_content(id, element) {
var children = $("#content").children();
children.filter(function () {
return $(this).css('display') == 'block';
}).hide();
$("#" + id).parent().css('display') == 'none' ? $("#" + id).parent().show() : null;
$("#" + id).toggleClass('hide');
}
答案 0 :(得分:-1)
此功能可满足您的需求:
function show_content(id, element) {
$('#content > div').hide();
$('#' + id).show();
}
注意:
答案 1 :(得分:-1)
<script>
function showSomething()
{
$("#div1").hide();
$("#div2").show();
</script>
围绕你的div:
<a href="Javascript:showSomething();">
<div></div>
</a>