1

我有一些 jQuery 行,只有在满足条件要求时才想应用它们。继承人的代码:

<script>
$(function() {
    //<![CDATA[ 
    if (location.pathname == "/one-page-checkout.asp") 
       $('#content_area').css("height", "1400px");  <!-- fix footer issue -->
       $('#v65-onepage-ShippingCostDetails tr:nth-child(3)').css("display", "none");
    //]]> 
});
</script>

第一行 ,"$('#content_area').css("height", "1400px");"符合我的要求,并且仅适用于 URL 具有 /one-page-checkout.asp 的情况。但是第二行,$('#v65-onepage-ShippingCostDetails tr:nth-child(3)').css("display", "none");,在我的网站中普遍适用。

如何使第二行及其后的任何行服从条件?

4

1 回答 1

7

您的if语句中缺少花括号:

if (location.pathname == "/one-page-checkout.asp") {
       $('#content_area').css("height", "1400px");  <!-- fix footer issue -->
       $('#v65-onepage-ShippingCostDetails tr:nth-child(3)').css("display", "none");
}

去掉花括号是完全有效的,但如果你这样做,如果语句为真,则只执行以下行。这可能会导致维护期间出现错误。缩进只是为了可读性,它对代码的执行没有任何影响。

您的代码按原样解释如下:

if (location.pathname == "/one-page-checkout.asp") 
    $('#content_area').css("height", "1400px");  <!-- fix footer issue -->

$('#v65-onepage-ShippingCostDetails tr:nth-child(3)').css("display", "none");
于 2013-07-23T17:22:04.897 回答