0

次のように設定された外部 .jsp ファイルからデータを表示しようとしています。

<tag>
  <innertag1 id="1">
  <innertag1 id="2">
</tag>
<tag>
  <innertag2 id="3">
  <innertag2 id="4">
</tag>

特定の「innertag」タグからの情報のみを表示するには、現在次を使用しています。

NodeList labs = XMLInfo.getElementsByTagName("innertag1");

特定のタグを簡単に分離できるようにしたいと考えています。理論的には、多くの個々のページを作成して値を「innertag2」、「innertag3」などに変更するだけで済みますが、これは明らかに少し非現実的です。

URL パラメータを介して値を決定する方法はありますか? たとえば、「innertag2」からのデータのみを表示したい場合、URL http://www.server.com/data.jsp?id=innertag2でタグ名を適切に調整する方法はありますか?

ありがとう、どんな助けでも大歓迎です。

4

2 に答える 2

2

そこからパラメータを解析document.location.hrefして抽出できます。これは、私がこの手法を使用した古い HTML ファイルからのものです (ただし、すべてのブラウザーで互換性があるかどうかはわかりません)。

var args = {};

function parseArgs()
{
    var aa = document.location.href;
    if (aa.indexOf("?") != -1)
    {
        aa = aa.split("?")[1].split("&");
        for (var i=0; i<aa.length; i++)
        {
            var s = aa[i];
            var j = s.indexOf("=");
            if (j != -1)
            {
                var name = s.substr(0, j);
                var value = s.substr(j + 1);
                args[name] = value;
            }
        }
    }
}
于 2011-01-27T22:31:02.247 に答える
1

これが探しているものかどうかはわかりませんが、 を使用して URL からパラメーターにアクセスできますlocation.search

6502 の回答はほぼ十分です。URL デコード パラメータではありません。以下の関数はもう少し洗練されています (説明的な変数名、グローバル変数なし)

function getUrlParams() {

  var paramMap = {};
  if (location.search.length == 0) {
    return paramMap;
  }
  var parts = location.search.substring(1).split("&");

  for (var i = 0; i < parts.length; i ++) {
    var component = parts[i].split("=");
    paramMap [decodeURIComponent(component[0])] = decodeURIComponent(component[1]);
  }
  return paramMap;
}

それからあなたはすることができます

var params = getUrlParams();
XMLInfo.getElementsByTagName(params['id']); // or params.id
于 2011-01-27T22:36:37.143 に答える