문제

JavaScript에 문제가 있습니다.
표에 저장된 테이블 셀 목록이 있습니다.
최대 너비를 찾은 다음이 너비를 모두로 설정하고 싶습니다.
샘플 코드는 여기에 있지만 너비 설정은 작동하지 않습니다.

var MaxTabWidth = 0;
for (var i = 0; i < TabList.length-1; i++)
{
  if (TabList[i].offsetWidth>MaxTabWidth) 
    MaxTabWidth = TabList[i].offsetWidth;
}

for (var i = 0; i < TabList.length-1; i++)
{
  TabList[i].style.width = MaxTabWidth+"px";
  // TabList[i].width = MaxTabWidth+"px";
  // TabList[i].offsetWidth = MaxTabWidth+"px";
}

나는 나의 시도를 언급했다 ..
도움이 있습니까?
이것나를 위해 트릭을하지 않았다 ..

업데이트:
클래스 이름을 확인하고 있었기 때문에 식별이 셀 목록이라고 확신합니다.
마지막 셀이 테이블 너비의 나머지 너비를 채우기를 원하기 때문에 테이블리스트 -1-1까지 반복됩니다.

도움이 되었습니까?

해결책

페이지에서 모든 CSS/스타일을 제거하고 문제를 분리하기 위해 테스트하는 것이 좋습니다. 이와 같은 것은 종종 CSS에 의해 복잡합니다.

다른 팁

전체 테이블의 너비를 -i*maxtabwidth로 설정하면. 열을 균등하게 배포할까요? 당신의 테이블이 mytable이라고 가정합니다.

document.getElementById('myTable').width = new String(--i*MaxTabWidth)

편집 : 또한 그렇지 않을 것입니다

for (var i = 0; i < TabList.length-1; i++)

TACBER.LENGTH-2에서 멈춰 마지막 열을 건너 뜁니다.

가치가있는 것에 대해, jQuery에서 이것은 테이블에 "mytable"의 ID가있는 다음 스크립트로 수행 할 수 있습니다. 프레임 워크를 추가 할 환경을 충분히 제어 할 수 있다면 이와 같은 작업을 훨씬 쉽게 만들 수 있기 때문에 강력히 추천합니다.

    var maxWidth = 0;

    $("#myTable td").each(function() {
        if ($(this).width() > maxWidth) {
            maxWidth = $(this).width();
        }
    });
    $("#myTable td").width(maxWidth);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top