我有 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: none
和 visibility: hide
。只需 display: none
就足够了,然后您可以摆脱 $("#manufacturer_"+id).css('visibility','visible');
。
关于javascript - 我的 jquery 切换出了什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14161429/