javascript - jquery onclick事件需要点击两次

标签 javascript jquery onclick

单击时,我想隐藏/显示一些 html 代码(通过对另一个页面的 GET 请求获得)。它可以工作,但问题是它需要点击两次而不是一次。

还有一个question这似乎相关,但我无法理解。

  <script>
     $(document).ready(function(){
        $(".quote-toggle").click( function(event) {
            var id = $(this).attr('id');
            $.get( $(this).attr('href'), function(msg) {
                if($("#toggler_" + id).html()=='show') {
                    $("#" + id).html(msg);
                    $("#toggler_" + id).html('hide'); 
                  }
                else {
                    $("#" + id).html('');
                    $("#toggler_" + id).html('show'); 
                 }
            });
            event.preventDefault();
        });
     });
   </script>

这是我第一次使用 jquery/javascript。对代码的任何解释或建议将不胜感激。 [编辑]
jsfiddle:http://jsfiddle.net/KCLf5/1/

最佳答案

如果非要我猜的话,$("#toggler_"+ id) 的 html 没有设置为 show。所以第一次点击会将其设置为显示,第二次将加载数据。

确保切换器在页面加载时具有正确的 html

关于javascript - jquery onclick事件需要点击两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6679326/

相关文章:

jQuery 插件 : Using callback to alter plugin behavior

reactjs - 单击 ReactJS 的图像后打开新选项卡

javascript - 变量分配给 getElementById,不起作用

javascript - socket.io发出返回相同的值

jquery - 自动在彼此下方显示网格元素

javascript - 更新到 Chrome v65 并开始收到此错误 : Expected onClick listener to be a function, 而不是收到类型字符串

android - 在 Spinner 外部单击关闭 Spinner

javascript - Jquery mouseenter 和 mouseleave 不适用于 li 元素

javascript - 如何从嵌入式视频中获取缩略图?

javascript - Headroom.js 和 ie9 支持