Jquery .show()和.hide()甚至.css({“display”:“none”}); 不在firefox工作?

由于一些奇怪的原因,在我的脚本中显示和隐藏对象的部分似乎不起作用。 我不确定它是不是喜欢它的事实或它是否是我的基于函数的代码(以节省重复的代码行)?

这里有一个工作示例,javascript就在这里

**这是jquery **

$(document).ready(function(){ totUpPrices(); checkBedType(); checkHeadboardOption(); $('.bedtype_price').click(function() { checkBedType(); }); $('.headboard_option').click(function() { checkHeadboardOption(); }); $('#bed-floater').scrollFollow({ offset:10 }); $('.texture').click(function() { $('.texture').removeClass("checked"); $('.texture').children("input").attr("checked",""); $(this).addClass("checked"); $(this).children("input").attr("checked","checked"); }); $('.pricechanger_auto').change(function() { totUpPrices(); }); $('.bed-width-single').change(function() { if($(this).val()=="2' 6\"" || $(this).val()=="3'") { $('.pocketmatic-mattress').attr("disabled",""); } else { $('.pocketmatic-mattress').attr("disabled","disabled"); if($('.pocketmatic-mattress').parent("select").val()=="Pocketmatic") { $('.pocketmatic-mattress').parent("select").children("option[value='']").attr("selected","selected"); } } }); $('.bed-width-twin').change(function() { if($(this).val()=="4' 6\"" || $(this).val()=="6'") { $('.pocketmatic-mattress').attr("disabled",""); } else { $('.pocketmatic-mattress').attr("disabled","disabled"); if($('.pocketmatic-mattress').parent("select").val()=="Pocketmatic") { $('.pocketmatic-mattress').parent("select").children("option[value='']").attr("selected","selected"); } } }); function totUpPrices() { var totalprice = 0; // Check Type of bed prices var objs = $('.bedtype_price'); $.each(objs, function(index, value) { if($(value).attr("checked")) { totalprice = totalprice + parseInt($(value).attr("cost")); } }); // Check Delivery Options var objs = $('.deliveryoptions_price'); $.each(objs, function(index, value) { if($(value).attr("checked")) { totalprice = totalprice + parseInt($(value).attr("cost")); } }); // Check Dropdown Prices var objs = $('.select_price'); $.each(objs, function(index, value) { newvalue = $(value).attr("value"); $.each($(value).children("option"), function(i, l){ if($(this).attr("value")==newvalue) { totalprice = totalprice + parseInt($(this).attr("cost")); } }); }); $('#totalincvat').text(totalprice); } function checkBedType() { var objs = $('.bedtype_price'); var checkedType = ''; $.each(objs, function(index, value) { if($(value).attr("checked")) { checkedType = $(value).val(); } }); if(checkedType == "Single Bed") { $('.show_with_single').show(); $('.show_with_twin').hide(); $('.changeOnTwin').text("Would you like a headboard?"); } else { $('.show_with_twin').show(); $('.show_with_single').hide(); $('.changeOnTwin').text("Would you like headboards?"); } } function checkHeadboardOption() { var objs = $('.headboard_option'); var checkedType = ''; $.each(objs, function(index, value) { if($(value).attr("checked")) { checkedType = $(value).val(); } }); if(checkedType == "Yes") { $('.headboard-options').show(); } else { $('.headboard-options').hide(); } } }); 

所有帮助赞赏

您的HTML无法validation。 看这里,

http://validator.w3.org/check?uri=http%3A%2F%2Fbed-adjustable.co.uk%2Fbuild-a-bed%2F&charset=%28detect+automatically%29&doctype=Inline&group=0

你的HTML的第一行已经无效了。

对不起你的第一行是好的,我不知道这是HTML5,虽然现在做HTML5还为时尚早。

我没有关注你的链接(请参阅我对你的问题的评论),但从根本上说,Firefox在jQuery的show没有问题,在CSS中hide或设置display: none ,所以这是一个代码问题。

可以从validation您的XHTML开始, http://validator.w3.org/check?uri = http://bed-adjustable.co.uk/build-a-bed/&charset=(detect+automatically)&doctype=Inline&group= 0