JQuery 对象在 Firefox 中的加载顺序与 Chrome/Opera 中的不同?

Loading Sequence of JQuery objects in Firefox different than in Chrome/Opera?

在 Firefox 上执行时,HTML 和 Javascript 文件中 jQuery 对象的加载顺序有问题。 我有几个不同 id<div><button> 标签。该页面以以下代码开头:

<script>
$(document).ready(function () {
   $("#id_1").show();
   $("#id_2").hide();
   $("#id_3").hide();
   ...
});

$(document).ready(function () {
   $.getJSON("JSON_file.json", function (json) {
      if (json.option[number] == "b") {
         $("#id_2").show()
      };

      if (json.option[number] == "c") {
         $("#id_3").show()
      };
   });
});
</script>

在 Chrome 和 Opera 中,我对这段代码没有任何问题。对象“#id_2”和“#id_3”在加载时不可见。 但是在 Firefox 中,“#id_2”和“#id_3”在被隐藏之前会显示一小段时间。但我不希望它们在开始时可见。

我使用本地主机打开文件。

有人知道我做错了什么吗?

您好,您可以在 div 中添加默认隐藏调用,然后在基本条件下删除该调用。 喜欢

<div id="#id_1" class='hide'>
My Div 1
</div>
<div id="#id_2" class='hide'>
My Div 1
</div>
<div id="#id_3" class='hide'>
My Div 1
</div>

现在你的脚本代码

<script>


$(document).ready(function () {
   $.getJSON("JSON_file.json", function (json) {
      if (json.option[number] == "b") {
         $("#id_2").removeClass('hide')
      };

      if (json.option[number] == "c") {
         $("#id_3").removeClass('hide')
      };
   });
});
</script>