我如何使用jQuery显示/隐藏相同的div区域...基本上交换内容?
这是我到目前为止所做的,我无法弄清楚如何隐藏以前的内容并将其替换为新的内容:
<script type="text/javascript">
$(document).ready(function(){
$('.content').hide();
$('a').click(function(){
$('.content').show('slow');
});
//then hide previous content
});
</script>
<a href="#" id="a-link">A</a>
<a href="#" id="b-link">B</a>
<div class="start-content" id="a">
content here
</div>
<div class="content" id="b">
content here
</div>
答案 0 :(得分:2)
如果将内容包装在div中,这会更容易一些,如下所示:
<div id="wrap">
<div class="start-content" id="a">
content here
</div>
<div class="content" id="b">
content here
</div>
</div>
这在jQuery中:
$('a').click(function(){
$("#wrap > div").hide(); //hide previous
$('.content').show('slow'); //show what's clicked on
});
既然你有一个带有你ID的约定,你可以使用它,给你链接一个类,或者包装它们,如下所示:
<div id="links">
<a href="#" id="a-link">A</a>
<a href="#" id="b-link">B</a>
</div>
<div id="wrap">
<div class="start-content" id="a">
content here
</div>
<div class="content" id="b">
content here
</div>
</div>
然后,您可以为所有链接使用单个事件处理程序,如下所示:
$('#wap > div:not(.start-content)').hide(); //Initial hide
$("#links a").click(function() {
$("#wrap > div").hide(); //hide previous
var id = $(this).attr("id").replace('-link', ''); //matching id
$('#' + id).show('slow'); //show what's clicked on
});
答案 1 :(得分:0)
保持内容div可见;相反,只需换出HTML内容即可
$('.content').html(strvalue);