为了账号安全,请及时绑定邮箱和手机立即绑定

为什么按照下面的代码实现不了重复点击切换属性的问题?

<!DOCTYPE html>
<html>
<head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>挑战题</title>
        <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"></script>
    </head>
    
    <body>
        <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li style="display:none">4</li>
            <li style="display:none">5</li>
            <li>6</li>
            <li>7</li>
            <a href="javascript:">更多</a>
        </ul>
        <script>
         var $a=$("li:hidden");
            $("a:contains('更多')").click(function(){
                $("a").html("简化");
                $a.show();
            })
            $("a:contains('简化')").click(function(){
                $("a").html("更多");
                $a.hide();
            }) 
        </script>
    </body>
</html>

点击第一次有变化,再点击时就没有什么反应了,求大神帮忙解决.(我是新手)

正在回答

2 回答

 $("a:contains('简化')").click(function(){
                $("a").html("更多");
                $a.hide();
            })

这段代码只会在页面初始化的时候执行一次,所以你第二次点击时没有反应,按照你的想法可以这样改一下

<!DOCTYPE html>
<html>
<head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>挑战题</title>
        <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"></script>
    </head>
     
    <body>
        <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li style="display:none">4</li>
            <li style="display:none">5</li>
            <li>6</li>
            <li>7</li>
            <a href="javascript:">更多</a>
            <a href="javascript:">简化</a>
        </ul>
        <script>
         var $a=$("li:hidden");         
            $("a:contains('更多')").click(function(){
                $("a:contains('简化')").show();
                $(this).hide();
                $a.show();
            });
            $("a:contains('简化')").click(function(){
                $("a:contains('更多')").show();
                $(this).hide();
                $a.hide();
            });
            $("a:contains('简化')").hide();
        </script>
    </body>
</html>


0 回复 有任何疑惑可以回复我~
#1

慕的地1208773 提问者

非常感谢,虽然还是不太明白为什么"这段代码只会在页面初始化的时候执行一次",点击事件不是一直可以调用函数么?
2016-04-28 回复 有任何疑惑可以回复我~
#2

Linus_Ni 回复 慕的地1208773 提问者

那段代码的意思是“找到”包含“简化”的<a>元素,并且定义这个元素的点击事件。 可是在你的页面中只“创建”了“<a href="javascript:">更多</a>”,没有创建“<a href="javascript:">简化</a>”,所以这段代码根本不会执行。
2016-04-29 回复 有任何疑惑可以回复我~

你去看看下面的同学代码参考下吧,我也不太懂~

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154768    人
  • 解答问题       7184    个

加入课程学习,有效提高前端开发速度

进入课程

为什么按照下面的代码实现不了重复点击切换属性的问题?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信