GETの意味を履き違えていたらごめんなさい。
つまり具体的に言うと
例えば、
<h3><a href="hoge.htm?uid=1">page1 動作1</a></h3>
<h3><a href="hoge.htm?uid=2">page1 動作2</a></h3>
というリンクがあったとして、hoge1.htmではアコーディオン表示のjQueryプラグインを使っており、uid=1の時は項目1を展開した状態で、uid=2の時は項目2を展開した状態で、表示させたいのです。(?以降が無いときはuid=1と同じ動作)
そこで、(location.href)を使って取得しようと考えたのですが、IEではリンク先を表示したときに?を含む以降が省略されてURLを表示してしまい、うまく取得できないようです。
(FireFoxでは、?以降のURL表示がされており問題なく想定どおりの動作をしていました)
考え方が間違っているのか、そもそもIEでjQuery(javascript全般含む)がGET(URLの?以降)を受け取ることができないのでしょうか?
稚拙ではありますが、参考までに自身で作った受取側のソースを自前のテストサーバーに貼っております。
(そもそもこれはGETではなく、単純にURLの?以降を読み取っているに過ぎないとは思いますが・・・)
http://tw2.ryu-net.info/test.js.txt
>jQueryはIEにおいてGETを受け取れない?
そんなことはありません。IRでもGETは受け取れます。
GETを取得するときには、window.location.searchを使いましょう。
http://phpjavascriptroom.com/?t=js&p=location4
取得後の文字列を&や=で区切ることにより、該当するパラメータを手に入れられます。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/split
IEでもGETパラメータは取得できます。
? でsplitしているのがおかしいように思います。
下記サイトのソースを参考にしてみて下さい。
http://blog.digital-assist.net/?p=110
途中でalert(location.href)とすると、どのように表示されますか?
ちなみに回答者の2人はweb系の有料質問で誤答が多い方たちです。
ぼくからも、いくつか。
期待通りに動いてくれない IE というのは、IE10 とか IE9 ですか?
もし、IE9 or IE10 を使ってるなら、互換モードで表示すると、どうなりますか?
互換モードへの切り替え方は、こちらなんぞを。
http://www.atmarkit.co.jp/ait/articles/1304/12/news095.html
試しているときは、Webサーバを通してますか?
それとも、ローカルのファイルをブラウザで見てたりしますか?
(URL のプロトコルが、http: なのか file: なのか、ということ)
原因がわかりましたので、いちおうここにも書いておきます。
実は、試行錯誤していたときの残りカスである#が残っていました。
この#はページ移動したときのページ内での頭出しとでもいいましょうか、それで使っていたものなのですが、それがリンクURLに残ってまして
href="hoge.htm#2?2"
となっていました。
FireFoxでは、ページ移動後のブラウザの窓の上部にある現URLは、#以降も表示されていたのですが、IEでは#以降が全て省略されてしまっていました。
hrefの#を外したところ、IEでも問題なく?以降を取得できた上にURL表示も想定どおりになされていました。
#を使うときは、GETパラメータの後ろ、一番最後に付けないとダメなんですね・・・・。