JavaScript에서 테이블 열 폭을 크기를 조정하는 방법
-
03-07-2019 - |
문제
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);
제휴하지 않습니다 StackOverflow