كيفية تغيير حجم الجدول عرض الأعمدة من جافا سكريبت

StackOverflow https://stackoverflow.com/questions/807528

  •  03-07-2019
  •  | 
  •  

سؤال

لدي مشكلة مع جافا سكريبت.
لدي قائمة من خلايا الجدول المخزنة في TabList.
أريد أن أجد أقصى عرض ثم قم بتعيين هذا العرض إلى كل منهم.
نموذج التعليمات البرمجية هنا ، ولكن وضع العرض لا يعمل.

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";
}

لقد علق محاولاتي..
أي مساعدة ؟
هذا لم تفعل خدعة بالنسبة لي..

تحديث:
أنا متأكد من TabList قائمة من الخلايا لأنني كنت التحقق من className.
أنا حلقات حتى TabList.طول-1, لأنني أريد الخلية الأخيرة لملء بقية طاولة العرض.

هل كانت مفيدة؟

المحلول

أود أن أقترح عليك إزالة جميع css/التصميم من صفحة اختبار لعزل المشكلة.مثل هذه الأمور غالبا ما تكون معقدة عن طريق css.

نصائح أخرى

إذا قمت بتعيين عرض الجدول بأكمله .. أنا*MaxTabWidth.من شأنه أن توزع بالتساوي على عمود ؟ افترض أن لديك جدول يسمى الجدول.

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

تحرير:أيضا لن

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

تخطي العمود الأخير قبل التوقف عند TabList.طول-2?

على ما يستحق في مسج هذا يمكن القيام به مع البرنامج النصي التالي حيث الجدول الخاص بك لديه معرف من "الجدول".إذا كان لديك ما يكفي من السيطرة على البيئة في إطار وأود أن أوصي به لأنه يجعل المهام مثل هذه أسهل بكثير.

    var maxWidth = 0;

    $("#myTable td").each(function() {
        if ($(this).width() > maxWidth) {
            maxWidth = $(this).width();
        }
    });
    $("#myTable td").width(maxWidth);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top