Javascript 为什么我必须单击两次才能使用jquery显示Div?

Javascript 为什么我必须单击两次才能使用jquery显示Div?,javascript,jquery,html,Javascript,Jquery,Html,我有一个按钮,我应该在它前面显示一条消息,所以我使用以下jq代码: <script type="text/javascript"> $("#msg").html(data); var pos = $("#answer2ticker").offset(); $("#msg").offset({top: pos.top, left: pos.left}); $("#msg").show(); </script> <div class="alert

我有一个按钮,我应该在它前面显示一条消息,所以我使用以下jq代码:

 <script type="text/javascript">

 $("#msg").html(data);

 var pos = $("#answer2ticker").offset();
 $("#msg").offset({top: pos.top, left: pos.left});

 $("#msg").show();
 </script>

 <div class="alert alert-danger" id="msg" style="position: absolute;" hidden="hidden" onclick="$(this).hide();"> </div>

$(“#msg”).html(数据);
var pos=$(“#应答器2链接”).offset();
$(“#msg”).offset({top:pos.top,left:pos.left});
$(“#msg”).show();
问题是: 消息通常第一次显示,但当我将其隐藏并尝试再次显示时,我必须单击“显示”两次


所以隐藏是正常的,但是显示必须被调用两次。

为什么不使用jQuery切换函数呢

$( document ).ready(function() {
 var data = "test";
 $("#msg").html(data);

    $("#answer2ticker").click(function() {
        $('#msg').toggle();
    });  
});

示例:

按钮在哪里?#answer2ticker就是按钮,我需要在它旁边显示消息,所以我使用它的位置如果我不得不猜测,我会说你的
onclick
属性正在破坏它。尝试不引人注目的方式,将其放在JavaScript中。哇,onclick解决问题是正确的,但是为什么可能,以及如何解决它。