2016-08-25 3 views
2
function size(){ 
for(i=0; i<squares; i++){ 
    document.getElementById('table').innerHTML += "<div class='squareCell' id='objetive"+i+"'></div>"; 
} 
document.getElementsByClassName('squareCell').style.width="300px"; 
document.getElementsByClassName('squareCell').style.height="300px";} 

여전히 '정의되지 않은 속성'너비를 설정할 수 없으며 그 이유를 알 수 없습니다. 나는이 문제를 해결하려고 노력하지 않고 있으며 정확히 여기서 무슨 일이 일어나고 있는지 배우고 싶습니다.정의되지 않은 'width'속성을 설정할 수 없음

인사말.

+1

당신이 함수를 정의하지만, 실제되지 않습니다 그것을 (최소한 당신이 게시 한 작은 코드에서는) 호출하지 마십시오. 따라서 클래스 이름을 추가하는 함수를 실행하기 전에 함께 정의하려고하는 것처럼 보입니다. – AgataB

답변

4

getElementsByClassName() 방법은 배열 객체로, 지정된 클래스 이름으로 문서에있는 모든 요소의 컬렉션을 반환

당신은 하나의 클래스 이름이있는 경우 squareCell는이 같은 색인 번째 0를 정의하여 그것을 할 수 있습니다

document.getElementsByClassName('squareCell')[0].style.width="300px"; 
document.getElementsByClassName('squareCell')[0].style.height="300px"; 

여러 사용 루프를 수행 할 경우

var x = document.getElementsByClassName('squareCell'); 
for(var i=0; i< x.length;i++){ 
    x[i].style.width = "300px"; 
    x[i].style.height = "300px"; 
} 
+0

고맙습니다. – RomanVenica

관련 문제