스크립트 질문입니다..
본문
var state = ["대기","완료","대기","완료","대기","대기","대기","대기","대기","완료","완료","대기","대기","대기","대기","대기","완료","완료","완료","대기","완료","완료","대기","완료","완료","대기","대기","대기","대기","대기","대기","대기","대기","대기","대기","대기","대기","완료","대기"] ;
이러한 배열이 있는데요
이배열글자를 대기는 회색으로 완료는 주황색으로 바꾸려고 합니다..
그래서
$(function(){
state_color = $(".state").text();
if (state_color == "대기")
{ state_color.css({"color":"#fff","background":"#999"})
} else if (state_color == "완료")
{ state_color.css({"color":"#fff","background":"#ff7800"})
}
})
이렇게 했더니 안되네요..
ㅠㅠㅠ 어떻게 해야할까요?
답변 5
$(function(){ <------이 부분 필요 없습니다
코드도 잘못 되었지만 아래처럼 하면 간단한데요?
<style>
.state0{color:red;}
.state1{color:blue;}
</style>
for (var i = 0; i < state.length; i++) {
colorno= state[i]=='대기'? 0 : 1;
document.write("<li class='state"+colorno+"'>"+state[i]+' </li>');
}
한글로 하지말고
더 정확하게 순서 코드 번호로 하는 것이 좋을거같씁니다
$(".state").css({"color":"#fff","background":"#999"})
이런식으로 하거나...
$(".state").addClass('gray');
클래스 추가한후, 스타일에서 gray 에 대한 색 지정해주는것이 좋을듯 싶네요.
var state는 배열입니다. 배열은 for을 돌려서 해당열에있는 값을 뽑아와야합니다.
for(var i=0; i<arrType4.length; i++){
if (state_color[i] == "대기"){
처리
}
}
state_color.css() 가 아니라 $(".state").css() 로 하셔야 합니다.
state_color 는 단순히 문자열인데 css() 적용이 안되는건 당연하지요.