jquery 怎样点击两次 不同效果

=============jq代码=========$('#myidspan').click(function(){if($(this).hasClass("myoff"... ============= jq代码 =========
$('#myid span').click(function(){
if($(this).hasClass("myoff")){
$(this).attr('class','myon');
}
if($(this).hasClass("myon")){
$(this).attr('class','myoff');
}
});

============= html 代码 =========
<div id="myid">
<span class="myoff">内容1</span>
<span class="myoff">内容2</span>
<span class="myoff">内容3</span>
</div>
点击span的时候,判断class名字,如果全等于myoff,则改成myon。
如果全等于myon,则改成myoff。
展开
 我来答
丁巴什罗大神cy
2019-03-07 · TA获得超过1784个赞
知道小有建树答主
回答量:1525
采纳率:86%
帮助的人:639万
展开全部

很简单的,只用一句代码就能实现:

$("#myid span").on("click",function(){
    $(this).toggleClass("myon");//如果默认显示的是myoff,这里就是myon
})

原理分析:

span 默认显示的是myoff这个样式,那么当第一次点击的时候,toggleClass就会判断是否包含myon这个样式,如果不包含,就为它添加上“myon”这个样式,这样span的样式就变成了:“<span class='myoff myon'>”,myon和myoff里有冲突的样式,就会显示myon的样式,当再次点击的时候,就会删除myon这个样式。

就是这么简单!要善用jquery里的 toggle,看下面这篇文章,也是关于“toggle”的一种用法:

网页链接

yugi111
推荐于2017-09-06 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
$ (function ()
{
$ ('#myid span').click (function ()
{
if ($ (this).attr ("class") == "myon")
{
$ (this).attr ('class', 'myoff');
}
else if ($ (this).attr ("class") == "myoff")
{
$ (this).attr ('class', 'myon');
}
});
});
追问
亲~~测试了,不行!
追答
蜜,测试了下,可以
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式