日期:2014-05-16  浏览次数:20423 次

求教一个jquery的问题
代码如下
JScript code

$("span").live("click", function(event){
});


HTML code

<div class="tab-h">
    <span id="tab-a" class="tab-title">TabA</span>
    <span id="tab-b" class="tab-title">TabB</span>
</div>
<div id="c-tab-a" class="tab-b">
A
</div>
<div id="c-tab-b" class="tab-b" style="display:none;">
B
</div>


我想实现点击TabA或TabB时先把所有id为c-tab开头的元素隐藏掉
然后,显示id等于“c-”+点击元素id值的元素
比如
TabA的id为tab-a那么点击TabA时显示id值为c-tab-a的元素。
请问这个用jquery怎么实现??

------解决方案--------------------
$("span").bind("click", function() {
var id = "c_" + this.id;
if ($("#" + id + ":visible").length < 1) {
$(".tab_b").hide();
$("#" + id).show();
}
})
------解决方案--------------------
HTML code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
       <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
       <script>           $(document).ready(function () {
               $("span").live("click", function () {
                   $('.tab-b').css('display', 'none');
                   $('#c-' + $(this).attr('id')).css('display', 'block');
               });
           });</script>
</head>
<body>
<div class="tab-h">
    <span id="tab-a" class="tab-title">TabA</span>
    <span id="tab-b" class="tab-title">TabB</span>
</div>
<div id="c-tab-a" class="tab-b">
A
</div>
<div id="c-tab-b" class="tab-b" style="display:none;">
B
</div>

</body>
</html>

------解决方案--------------------
JScript code
$(".tab-h span").click(function () {
    $('div[id^="c-tab"]').hide().end().find('#c-' +$(this).attr("id")).show();
});