Javascriptをはじめ、Ajax、jQueryの著書多数のガイドが、何かと最近騒がれているJa…
Javascript関連情報
更新日:2006年07月27日
今回は、マッシュアップというよりも、冗長になりがちなDOMスクリプトを短くし、繰り返し処理をfor文でシンプルに記述するという方法です。

alert('a');
alert('b');
alert('c');
下記のような配列とfor文に書き換えることもできます。
array1=['a','b','c']
for(var i=0;i<array1.length;i++){
alert(array1[i]);
}
このfor文は、i=0から順番に、i<array1.lengthになるまで、iを1つずつ加算しながらalert(array1[i]);を実行すると言う意味です。この場合、array1.length、つまり配列array1の長さは3ですので、iの値は、0~2まで順番に変化し、array1配列内で対応する「a」から順に「b」「c」を返すというわけです。
//XML要素リストと対応するプロパティ
var nodeNames =['HotelName','X' ,'Y' ,'LargeArea','SmallArea','HotelCatchCopy','HotelDetailURL'];
var h_OjNames =['h_name' ,'h_x','h_y','h_la' ,'h_sa' ,'h_catch' ,'h_url'];
//ホテル毎のデータセット
function mk_hotelsOj(h_id,hotelDom){
h_Oj[h_id] = new hotelsOj(); for(var i=0;i<nodeNames.length;i++){ h_Oj[h_id][h_OjNames[i]] = getHv(nodeNames[i],hotelDom); }
setHotelImg(h_Oj[h_id],dom);
return h_Oj[h_id];
}
//受信したDOMからホテルの各データを取り出して返します
function getHv(nodeName,dom){
return dom.getElementsByTagName(nodeName)[0].firstChild.nodeValue;
}
//画像プレロードなど
function setHotelImg(oj,dom){
if(dom.getElementsByTagName('PictureURL')[0].firstChild!=null)
oj.h_ph = getHv('PictureURL',dom);//画像
else oj.h_ph = "http://jsgt.org/mt/01/yagi.jpg";
wkOj.preLoad(h_id);
}
→サンプル | 動作ブラウザ | ||||||||
| win | ||||||||
| m1 | f1 | e6 | o8.5 | o9 | ||||
| ○ | ○ | ○ | ○ | ○ | ||||
| mac | ||||||||
| m1 | f1 | o8.5 | o9 | s1.2 | s2 | |||
| ○ | ○ | ○ | ○ | × | ○ | |||
| Linux | ||||||||
| m1 | f1 | o8.5 | o9 | k3 | ||||
| ○ | ○ | ○ | ○ | ○ | ||||
人気Javascriptランキング
Powered by 価格.com