0

私は次のコードを使用しています。最初のif条件は機能していますが、2番目の条件は機能していifません。どうしてか分かりません?同じCSSを2番目にifも適用する必要があります。なぜこれなのか誰か教えてもらえますか?

<script type="text/javascript">
    if (location.pathname.indexOf("girl-clothing") != -1) {
        $(".RetailPriceValue").css("cssText", "margin: -203px 0 0 0 !important;");
    }

    if (location.pathname.indexOf("http://www.xyz.com/girl-clothing/?sort=featured&page=2")!= -1) {
        $(".RetailPriceValue").css("cssText", "margin:-220px 0 0 0 !important;");
    }
</script>
4

3 に答える 3

1

location.hrefがhttp://www.xyz.com/girl-clothing/?sort=featured&page=2の場合

location.pathnameは"/girl-clothing /"になるため、indexOf関数は文字列 "http://"を検出しません。

https://developer.mozilla.org/en-US/docs/DOM/window.location

于 2012-12-12T11:24:12.650 に答える
1

次のようなものを使用します

$(".RetailPriceValue").css( "margin","-220px 0 0 0 !important");

代わりに試してください

if (location.pathname.indexOf("girl-clothing") != -1) {
    $(".RetailPriceValue").css("margin","-203px 0 0 0 !important");
}

if (location.pathname.indexOf("http://www.xyz.com/girl-clothing/?sort=featured&page=2")!= -1) {
    $(".RetailPriceValue").css( "margin","-220px 0 0 0 !important");
}
于 2012-12-12T09:38:53.220 に答える
1

最初のスタイルの変更は偶然に機能していると思います。実際に追加しているのはこれです:

<div style="cssText: margin: -203px 0 0 0 !important;"></div>

ここでの問題は明らかです。代わりにこれを試してください:

if (location.pathname.indexOf("girl-clothing") != -1) {
    $(".RetailPriceValue").css("margin", "-203px 0 0 0 !important;");
}

if (location.pathname.indexOf("http://www.xyz.com/girl-clothing/?sort=featured&page=2")!= -1) {
    $(".RetailPriceValue").css("margin", "-220px 0 0 0 !important;");
}
于 2012-12-12T09:40:58.690 に答える