2012-10-30 6 views
0
나는 조건에 따라 빨간색으로 음의 값을 색상을 원하는

를 사용하여 조건에 TD의 값을 색상을 원하는 : 만약 클래스 이름이 숫자와이 코드 찾기 TD 위, 지금과 같은 일을 오전 JQuery와

$('td.numeric:contains('-')").addClass("negative") 

값에 '-'가 포함되어 있으면 클래스 '음수'를 해당 td에 적용합니다.

내 문제는 예를 들어 구분 기호로 '-'가 포함 된 날짜 값에 숫자 클래스를 적용하고 날짜가 빨간색으로 표시되는 경우입니다.

그럼 내 질문은 어떻게 값 startwith '-'로 td를 찾을 수 있습니까?

filter() 당신은 사용할 수 있습니다

.numeric { text-align:right; } 
.negative { text-align:right; color:red; } 
+0

이것은 문제를 해결합니다 : http://stackoverflow.com/questions/1824266/colorize-negative-positive-numbers-jquery – senthilbp

+0

정규식없이 시작을위한 inbuilt 함수가 있습니까? –

+0

당신은 td의 날짜에 클래스를 넣을 수없고 단순히'.not()'을 사용하여 클래스를 제외시킬 수 없습니까? – charlietfl

답변

1

CSS

$('td.numeric:startwith('-')").addClass("negative") 

같은 :

$("td.numeric").filter(function() { 
    return $.trim($(this).text()).indexOf("-") == 0; 
}).addClass("negative") 
+0

감사합니다. –

0

하면이 시도 :

$("td").each(function() { 
var text = $(this).text(); 
if (/[+-]?\d+(\.\d+)?/.test(text)) { 
var num = parseFloat(text); 
if (num < 0) { 
    $(this).addClass("negative"); //add negative class 
} else if (num > 0) { 
    $(this).addClass("positive"); //add positive class 
} 

} 
}); 
0

이런 식 쓰기 :

$('td.numeric').filter(function(){return this.innerHTML[0] === '-';}); 

또는 안전 등 :

$('td.numeric').filter(function(){return this.innerHTML.match(/^\s*-/;}); 

은 필터를 사용하여 더 나은 선택, 성능 아파 JQuery와 선택기 내부 기능을 많이 넣어.

관련 문제