2012-08-26 2 views
2

XML 파일을 구문 분석하고 HTML로 표시하는 스크립트를 작성하고 있습니다. 여기있다 : 값이 "양"긍정적 인 경우, "녹색"단어를 입력하도록자바 값 확인

<script> 
$.get("api.xml", function (xml) { 
    $(xml).find("row").each(function() { 

     var date = $(this).attr('date'); 
     var amount = $(this).attr('amount'); 
     var balance = $(this).attr('balance'); 

document.write("A: " + date + "<br />B: " + amount + " ISK<br />C: " + balance + " ISK<br /><br /><br /><br />"); 
    }); 
}); 
</script> 

내가 부정적인 경우, 단어를 입력, 그렇지 않으면, "document.write를"의 출력을 수정할 "빨간". 나는 다음과 같이 작성하려고 시도했다.

<script> 
$.get("api.xml", function (xml) { 
    $(xml).find("row").each(function() { 

     var date = $(this).attr('date'); 
     var amount = $(this).attr('amount'); 
     var balance = $(this).attr('balance'); 

document.write("<script> if (amount >= 0) { document.write("green"); } else{ document.write("red"); } </scri" + "pt>"); 
    }); 
}); 
</script> 

그러나이 조각에서는 "document.write"에 구문 오류가 발생합니다. 내가 잘못 쓰고 어떻게 고칠 수 있니?

+0

'document.write '를 사용하면 전체 페이지가 새로운 내용으로 바뀝니다. –

+0

SO의 구문 형광펜이 답을 제공합니다. 그것의 따옴표, 어떻게 '녹색'과 '빨간색'귀하의 질문에 강조 표시 참조 –

답변

3

출력을 document.write로 작성하기 전에 색상을 계산할 수 있다고 생각합니다. 이 같은 뭔가 작업을해야합니다 :

<script> 
$.get("api.xml", function (xml) { 
    $(xml).find("row").each(function() { 
    var date = $(this).attr('date'); 
    var amount = $(this).attr('amount'); 
    var balance = $(this).attr('balance'); 

    var color = "green"; 
    if (amount < 0) { 
    color = "red"; 
    } 

    document.write("A: " + date + "<br />B: <span style='color:" + color + "'>" + amount + " ISK</span><br />C: " + balance + " ISK<br /><br /><br /><br />"); 
}); 
}); 
</script> 

(체크 구문)

+0

당신은 한 줄에 그것을 쓸 수 있습니다 :'var color = amount <0? "빨간색": "녹색"; – balexandre

2
<script> 
$.get("api.xml", function (xml) { 
    $(xml).find("row").each(function() { 

     var date = $(this).attr('date'); 
     var amount = $(this).attr('amount'); 
     var balance = $(this).attr('balance'); 
     document.write(amount >= 0 ? "green" : "red"); 
    }); 
}); 
</script> 
+0

고마워요! =) –

3

를 대답이 바로이 코드가 강조되는 방법을 봐 얻을 수 있습니다. '녹색'과 '빨간색'이라는 단어는 따옴표 밖에 있습니다. 작은 따옴표를 사용하거나 큰 따옴표를 이스케이프해야합니다.

다른 질문은 왜 그런 간단한 작업을 위해 메타 프로그래밍을 사용 하는가입니다. 서로 다른 두 개의 document.write 문으로 조건을 작성하십시오.