2012-08-22 2 views
0

기본적으로 특정 클래스가있는 숨겨진 날짜에 대해 Javascript에서 HTML을보고, 날짜를 구문 분석하고 오늘 날짜보다 큰지 확인하는 방법을 원했습니다. 그것이 사실이면 부모 요소에 이미지를 추가하십시오. 작동하는 것처럼 보이지만 이것이 코드를 작성하는 가장 좋은 방법입니까?자바 스크립트에서 날짜를 가져와 이미지를 추가하십시오.

$(".myClass").each(function() { 
    var u = Date.parse($(this).text()); 
    var v = [u.valueOf()]; 
    var t = new Date(); 
    var d = Date.parse(t) 

    if (v[0]>d) 
    { 
     $($(this).parent()).append("<img src='css/img/new.png' alt='icon' title='New Document' class='documentIconText' />"); 
    } 
}); 
+0

에 비교하는 값이 항상 나에게 의미가 보장 –

+1

, 당신이 "더 나은"방법에 의해 무슨 뜻인지 확실하지하지만 '$ (this)'객체를 변수에 캐싱 할 수 있습니다. 또한 설명적인 변수 이름 ('var currentDate')을 갖는 데 도움이됩니다. 이것은 [Code Review] (http://codereview.stackexchange.com/)에 더 적합 할 수 있습니다 ... – Zhihao

답변

1

이미지를 캐싱 할 수 있습니다. each이있는 모든 변수는 필요하지 않습니다.

var imgnew = $('<image/>') 
      .attr({src: 'css/img/new.png', alt:'icon', 
        title: 'New Document', class: 'documentIconText'}); 

$(".myClass").each(function() { 
    if ((Date.parse($(this).text()) || new Date()).getTime() > new Date) { 
    $($(this).parent()).append(imgnew); 
    } 
}); 

: 이것은 당신의 코드를 작성하는 또 다른 방법입니다 (Date.parse($(this).text()) || new Date()).getTime()

관련 문제