2011-10-27 5 views
1

저는 사무실 용 웹 기반 좌석 배치도를 개발 중입니다. 아래에 간단한 XML이 있습니다. 내 아이디어가 작동하는지 테스트 할 수 있습니다. 책상 위에 마우스를 올려 놓으면 책상이 녹색으로 바뀌고 책상이면 책상에 빨간색으로 바뀝니다 (사용 된 이미지는 Fireworks로 잘라내어 나머지는 지금 내 dev에는 그래서 아래 2010 년XML 파일을 읽는 자바 스크립트

<?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> 

내가 (등, XML에서 읽기 위해 두 개의 경고를 테스트했다 위에 더 많은 코드가/아래가 주 내 자바 스크립트에서 시도 된 것입니다 Visual Studio에서 수행되고 나는 시도하고 있었다 - 주석 만약 내가 1과 2는 웹 페이지에 표시되는 값은 그래서는 XML의 벌금을 읽고 생각하는 것을 볼 수 있습니다에서 그러나

//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이거나 개체가 아닙니다. 이제는 i의 사용이 마음에 들지 않는다고 생각합니다. 즉, 값 1 (예 : 책상 1)은 빨간색으로 바뀌고 (s1.gif는 s3.gif로 바뀜), 다른 숫자 인 책상 0과 책상 2는 빨간색으로 표시됩니다. 사람에게 잘못 내가 뭐하는 거지의 생각을 했습니까?

+0

를, 당신의 공동 de는 더 깨끗하게 보일 것이며 너무 쉽게 할 수 있습니다. –

답변

2

을 당신은 당신의 company 개체에 대한 세 아이들을 지정했습니다. 귀하의 for 루프 따라서 companychildNodes 객체의 경계를 오버런, 4 번 실행 .

for (var i = 0; i < xmlObj.childNodes.length; i++)for 루프를 변경

당신은 예외가 발생하지 않습니다. 당신이 jQuery를 사용하지 않는 이유는

관련 문제