테스트 사이트 - 개발 중인 베타 버전입니다

스크립트 질문입니다.. 채택완료

humanb2box 8년 전 조회 1,966

    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개

채택된 답변
+20 포인트
8년 전

$(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_color.css() 가 아니라  $(".state").css() 로 하셔야 합니다.

state_color 는 단순히 문자열인데 css() 적용이 안되는건 당연하지요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

8년 전

var state는 배열입니다. 배열은 for을 돌려서 해당열에있는 값을 뽑아와야합니다.

  for(var i=0; i<arrType4.length; i++){
    if (state_color[i] == "대기"){

      처리

     }
  }
 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

h
humanb2box
8년 전
var state = ["대기","완료","대기","완료","대기","대기","대기","대기","대기","완료","완료","대기","대기","대기","대기","대기","완료","완료","완료","대기","완료","완료","대기","완료","완료","대기","대기","대기","대기","대기","대기","대기","대기","대기","대기","대기","대기","완료","대기"] ;
// toString() 메서드로, 배열 내용 출력
for (var i = 0; i < state.length; i++)
document.write("<li class='state'>"+state[i]+' </li>');


$(function(){
state_color = $(".state").text();
for(var i=0; i<state.length; i++){
if (state[i] == "완료"){
state_color.css({"color":"#f00"})
}
}
})

왜 안될까요 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

$(".state").css({"color":"#fff","background":"#999"})

 

이런식으로 하거나...

$(".state").addClass('gray');

클래스 추가한후, 스타일에서 gray 에 대한 색 지정해주는것이 좋을듯 싶네요.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

한글로 하지말고 

더 정확하게 순서 코드 번호로 하는 것이 좋을거같씁니다

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인