2012-11-15 5 views
0

이 코드는 GetElementsbyId와 작동하지만 어떻게하면 그렇게 할 수 있습니까? 그래서 GetElementsByClassName을 가질 수 있으므로 여기에 코드 하나 이상을 전달할 수 있습니다. 내 코드입니다; 여기 자바에서 현재 날짜를 전달하기위한 ClassName

http://jsfiddle.net/C6Qgf/

내가 내 HTML 페이지에서 더 많은 곳에서보다 현재 날짜를 사용할 수 있도록하고 싶은 JS

var currentTime = new Date() 
var month = currentTime.getMonth() + 1 
var day = currentTime.getDate() 
var year = currentTime.getFullYear() 
document.write(month + "/" + day + "/" + year) 
document.getElementsByClassName("time").innerHTML=(month + "/" + day + "/" + year);​ 

입니다. 고맙습니다.

+0

? 나는 당신이 무엇을 성취하려고하는지 이해하지 못합니다. –

+0

@yogi 미안 해요. 변경했습니다. –

+0

@RoryMcCrossan getElementsById ("time")를 사용하면 많은 다른 장소에서 현재 시간을 사용할 수 있기를 원합니다. 페이지의 한 위치에서만 사용할 수 있지만 만들고 싶습니다. 그것은 클래스 또는 무언가로 내가 원하는만큼 많은 시간을 사용할 수 있습니다 –

답변

1

당신은 귀하의 질문에 jQuery 태그와 난 당신이 jQuery를를 사용 jQuery

사용 가정하면 할 수 있음,

var currentTime = new Date() 
var month = currentTime.getMonth() + 1 
var day = currentTime.getDate() 
var year = currentTime.getFullYear() 

$(".time").text(month + "/" + day + "/" + year);​​​​ 

데모 :http://jsfiddle.net/C6Qgf/3/

참고 : 기본 자바 스크립트를 사용하는 경우, document.getElementsByClassName가 IE에서 작동하지 않습니다 기억한다. 해결 방법은 다음 코드를 참조하십시오. (IE 지원) 기본 JS 사용

var currentTime = new Date() 
var month = currentTime.getMonth() + 1 
var day = currentTime.getDate() 
var year = currentTime.getFullYear() 
//document.write(month + "/" + day + "/" + year) 
var obj = getElementsByClassName("time"); 
for(var i=0; i<obj.length; i++){ 
    obj[i].innerHTML=(month + "/" + day + "/" + year); 
} 

//For IE Fix 
function getElementsByClassName(className) { 
    if (document.getElementsByClassName){ 
     return document.getElementsByClassName(className); 
    }else{ 
     return document.querySelectorAll('.' + className); 
    } 
} 

데모 :http://jsfiddle.net/C6Qgf/6/

정확히 당신이 뭘 하려는지
+0

jQuery를 사용하여 특정 클래스의 모든 요소를 ​​선택할 수 있지만 jQuery 태그가 표시되지 않습니다. OP 질문에. –

+0

@ TravisJ는 OP처럼'jQuery' 태그를 제거한 것 같습니다 –

+0

OH jquery에서 만들면 더 이상 배열을 만들 필요가 없습니다. –

1

배열을 검색 중이므로, 그 루프를 반복해야합니다. 또한 문서 내용을 바꿀 때 document.write을 사용하지 마십시오.

모든 세미콜론을 놓친 경우 특정 상황에서 예기치 않은 결과가 발생할 수 있으므로 항상 추가해야합니다.

var currentTime = new Date(); 
var month = currentTime.getMonth() + 1; 
var day = currentTime.getDate(); 
var year = currentTime.getFullYear(); 
var cls = document.getElementsByClassName('time'); 

for (var i = 0; i < cls.length; i++) { 
    cls[i].innerHTML = (month + "/" + day + "/" + year);​​​​ 
} 

바이올린 : 여기

업데이트 된 예입니다 http://jsfiddle.net/C6Qgf/1/

+0

대단히 고맙습니다. –

관련 문제