2011-10-27 13 views
1

私は私のオフィスのためのWebベースの座席計画を開発しています。以下は簡単なXMLです。アイデアがうまくいくかどうかをテストできます。デスク上のマウスは緑色になり、デスクがあれば赤色になります(使用したイメージはFireworksでスライスされました。私のdevが(など、XMLで読み取る/上記の下に多くのコードがあります2つのアラートがテストだった私はJavaScriptでしようとしていたものですので、下記の2010年XMLファイルを読むJavascript

<?xml version="1.0" encoding="utf-8" ?> 
<company> 
    <employee id="1" email="[email protected]" phone="1234">Test 1</employee> 
    <employee id="2" email="[email protected]" phone="6789">Test 2</employee> 
    <employee id="" email="" phone="">Free Desk</employee> 
</company> 

のVisual Studioで行われています私がしようとしていた - 。私は、私はそれがXMLの罰金を読んでいると思う値1と2は、Webページ上に表示されていることがわかります

//alert(xmlObj.childNodes(0).getAttribute("id")) 
    //alert(xmlObj.childNodes(1).getAttribute("id")) 


    for (var i = 0; i < 4; i++) 
    { 

     **if (xmlObj.childNodes(i).getAttribute("id") == 1)** 
     { 

      stringData = stringData.replace("s1.gif", "s3.gif"); 

     } 
     else 
     { 

      stringData = stringData.replace("s1.gif", "s2.gif"); 
     } 
    } 

にコメントしている場合、私が実行したときしかし、私は目を取得しますe太字の行にエラーがあります。 Microsoft JScript実行時エラー: 'xmlObj.childNodes(...)'がnullまたはオブジェクトではありません。今私はそれが私の使用を嫌うと思っています - 私は値1(つまり机1は赤に変わります(s1.gifはs3.gifに置き換えられます)、他の机0と机2それが赤色に変わります。あなたはあなたのcompanyオブジェクトのための3人の子供をのみ指定した私が間違っているのでしょうか?

+0

あなたはjQueryのを使用していないのはなぜ、あなたの協力をdeはきれいに見え、やりやすくなります。 –

答えて

2

の誰任意のアイデアを持っています。あなたのforループは、このようcompanychildNodesオブジェクトの境界をオーバーラン、4回実行します。

for (var i = 0; i < xmlObj.childNodes.length; i++)にご forループを変更

、あなたがスローされた例外を持っていません。