如何用jquery来控制div的显示与隐藏

这样写有什么问题?... 这样写有什么问题? 展开
 我来答
gaonana422
2013-08-15 · TA获得超过3989个赞
知道小有建树答主
回答量:789
采纳率:60%
帮助的人:233万
展开全部

a1,a2,a3,a4是id,所以前面应该加#;像这样$("#a1").show();

Chqiangs
2013-08-15 · TA获得超过1030个赞
知道答主
回答量:89
采纳率:0%
帮助的人:41.1万
展开全部

这样写..代码有点多 而且不算是最优 

你可以把option和div对应起来 我指在html页面中

<select name="aa" id="aa">
    <option value="全文" val="a1" selected>全文</option>
    <option value="张三" val="a2">张三</option>
    <option value="李四" val="a3">李四</option>
</select>
<div id="a1">div1</div1>
<div id="a2">div2</div1>
<div id="a3">div3</div1>
//div默认为全部隐藏

$("#aa").change(function(){
    var checkText = $(this).attr("val");//注意 必须是$(this);而且跟你所写的val()是有区别的
    这里取得是val="a1"这个的值
    $("div[class='show']").removeClass("show").hide();
    $("div[id='"+checkText+"']").addClass("show").show();
});

试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ywxowen999
推荐于2018-05-12 · 超过11用户采纳过TA的回答
知道答主
回答量:29
采纳率:0%
帮助的人:35.3万
展开全部
问题是你的里面的$('a1').show() ... $('a4').hide()等语句中使用的选择器不对。
你使用的是ID选择器,所以你应该再id之前加上一个#号

正确的写法是:
$('#a1').show();
$(‘#a2').hide();
$('#a3').hide();
$('#a4').hide();
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jy07sg
2013-08-15 · TA获得超过1044个赞
知道小有建树答主
回答量:930
采纳率:0%
帮助的人:735万
展开全部
<select id="Ping">
<option value="0">苹果</option>
<option value="1">香蕉</option>
<option value="2">西瓜</option>
</select>
<div style="display:none;" class="CL">青的</div>
<div style="display:none;" class="CL">黄的</div>
<div style="display:none;" class="CL">红的</div>
<script type="text/javascript">
$("#Ping").change(function(){
i=$('#Ping').val();
$('.CL:eq('+i+')').show().siblings('.CL').hide();
});
</script>
不知道能不能满足你。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式