匿名質問者

jQueryでlocationの取得


jQueryでグローバルナビのaタグのURLと現在のURLが同じだったら.activeを付けると言う記述を書いています。

location.hrefで現在のページのURLは取得出来ます。
グローバルナビのaタグ情報とlocation.hrefが一致した時の処理もかけます。

ただ、第2階層はそれでよいとして第3階層移行もその設定を引き継ぐにはどうすればよいのでしょうか?
現在です。
< ul>
< li>< a href="http://hogehoge.jp/about/">
< li>< a href="http://hogehoge.jp/work/">
< /ul>
のようになっています。
http://hogehoge.jp/about/のページに行ったときは.activeが付くのですが、さらに階層が下がると消えてしまいます。
例:http://hogehoge.jp/about/hatena/ のように

/about/の部分より下の階層に行ってもずっと.activeを維持するによい記述方法はないでしょうか。
具体的にコードを教えて頂きたいです。よろしくお願い致します。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2014/07/18 16:50:04

ベストアンサー

匿名回答1号 No.1

一致ではなくstartsWith使えばよいのでは?

匿名質問者

ありがとうございます。それはindexOf等でも代用できたりするのでしょうか?
質問欄にも書かせていただいたのですが、よろしければ具体的な記述方法を教えて頂けると嬉しいです。

2014/07/17 10:40:41
匿名回答1号

代用は可能です。
#startsWithはブラウザ依存でしたね(^^;
記述は特に複雑なことはなく、a.href == location.hrefをlocation.href.indexOf(a.href) === 0とでもすればOKだと思います。

2014/07/17 21:06:29

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません