人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

jQueryでxmlの異なるタグ要素を取得したい。

htmlファイルによって、xmlの別々の要素を取得したいのです。
やりたいメソッドは同じです。
xmlの要素の中のデータによって、imgの表示/非表示を切り替えたいのです。

問題は、対象となるhtmlファイルが複数あり
そのhtmlファイルによって、参照するxmlのタグが異なる事なんです。

xmlは以下のような感じです。
<?xml version="1.0" encoding="utf-8"?>
<shopdata>
<item>
<name1>0</name1>
<name2>1</name2>
<name3>0</name3>
</item>
</shopdata>

ただ<name1><name2><name3> とタグ名がバラバラなんです。
ちなみにhtmlは複数あって
a.htmlの時は→xmlの<name1>を参照
b.htmlの時は→xmlの<name2>を参照
c.htmlの時は→xmlの<name3>を参照
という感じです。
※htmlファイル名は特に規則的ではなく、いろいろなファイル名がついています。

詳しくコードを教えていただけたら、助かります。
宜しくお願いいたします。

●質問者: corgi_coro
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Lhankor_Mhy
ベストアンサー

別々のHTMLに対してひとつのjsファイルで対応したいということですよね。

こんな感じでしょうか?

var hash = {
 'a.html':'name1',
 'b.html':'name2',
 'c.html':'name3'
}

var fileName = location.href.match(/[^\/]+$/)
$.get(
 'hoge.xml',
 {'type':'xml'},
 function(data){
 var flag = $(hash[fileName],data).text();
 // なにかの処理
 }
)

ファイル名をキーにするのは泥臭いですしバグの温床という気がしますので、できれば関数にしてHTMLから引数を渡した方がいいと思います。

◎質問者からの返答

アドバイスありがとうございます。

また、お礼が遅くなってしまい、すみません。

HTMLに対して、jsファイルは一つです。

参考にして、いろいろやってみますね。

コードを書いていただいて

もっともっと勉強しないとな…って実感です(汗)

お忙しいところ、大変ありがとうございました。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ