javascript - 我的 jquery 切换出了什么问题

标签 javascript jquery html toggle

我有 div,它的 id 是: 制造商_63... 它的样式是:display:none,visibility:hidden。

我写的是:

$('select.styled2').change(function() {

     var id = this.value;

            $.ajax({
              type: "GET",
              url: 'index.php?act=manufacturerHome&id='+id,
              success: function(data) {

                $("#manufacturer_"+id).html(data);
              }
            });

     $("#manufacturer_"+id).css('visibility','visible');
     $("#manufacturer_"+id).toggle("slow");

});

它不会切换它。 如果我尝试:

 $("#manufacturer_"+id).css('display','block');

而不是切换 - 它有效。

如果我只是切换一些它可以工作的东西。

最佳答案

你真的应该这样做:

$('select.styled2').change(function() {
    var id = this.value;

    $.ajax({
        type: "GET",
        url: 'index.php?act=manufacturerHome&id='+id,
        success: function(data) {
            $("#manufacturer_"+id).html(data);
            $("#manufacturer_"+id).css('visibility','visible');
            $("#manufacturer_"+id).toggle("slow");
        }
    });
});

在您的代码中,无论 ajax 调用是否完成,都会显示该元素,而只有在 ajax 调用成功后才会显示该元素。

顺便说一句,您不需要同时使用 display: nonevisibility: hide。只需 display: none 就足够了,然后您可以摆脱 $("#manufacturer_"+id).css('visibility','visible');

关于javascript - 我的 jquery 切换出了什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14161429/

相关文章:

javascript - 更改 html 中链接点击的占位符

html - 如何在标题中垂直居中文本?

javascript - 使用 jQuery 更改文本颜色两次

javascript - 确定 GPS 状态 javascript

javascript - NodeJS 请求 mysql DB 以异步方式返回值

javascript - 不清楚的 Javascript 片段

javascript - 使用额外的方法和语法糖扩展 Javascript 数组

javascript - 使用jquery打开弹出窗口时如何避免刷新页面或后退按钮点击?

javascript - 如何从 500 个可能的问题中选出 30 个问题

html - Rails 和 HTML : How do i keep the formatting of a forms input