Добавление переменной в подсказку jQuery

Я не мог придумать более описательный заголовок, поэтому я надеюсь, что это имеет смысл (не стесняйтесь исправлять меня, если я ошибаюсь).

В основном я добавляю таблицы на сайт, и размер столбцов автоматически изменяется в зависимости от количества добавляемых столбцов. Добавление сингла работает очень хорошо, где мне становится немного сложно (возможно, слишком сложно), как только я добавляю дополнительную таблицу на той же странице - скрипт, который запускается, подсчитывает все столбцы целиком.
Например, если я добавлю таблицу из трех столбцов вверху страницы и еще одну таблицу из трех столбцов внизу - скрипт подсчитает всего 6 столбцов, а затем разделит 100 на это число.

Есть ли простой способ создать переменную или количество таблиц, чтобы скрипт внизу обнаруживал отдельные таблицы и изменял размеры столбцов в таблице?

Фрагменты кода ниже:

<div class="table<?php echo $tblid; ?>">
        <div class="cols">
        </div>

    ..code going on here..
        <div class="cols">
        </div> 
    ..Some more code going on here..
</div>

    var v = jQuery('.table .cols').length;

    var cw = (100/v);

    jQuery('.table .cols').css('width',cw+'%');

1 ответ

Решение

Если я не ошибаюсь, у вас есть две таблицы с одинаковым именем класса, поэтому ваш селектор jQuery('.table .cols') получает как стол, так и jQuery('.table .cols').length; даст вам длину столбцов, объединяющих обе таблицы...

что вы можете сделать, это. Дайте им отдельный класс и позвоните каждому.

HTML

 <div class="table1">
    <div class="cols">
    </div>

  ..other code going on here..

</div>

<div class="table2">
    <div class="cols">
    </div>

  ..other code going on here..

</div>

Jquery

jQuery(function(){
  jQuery('div[class^="table"]').each(function(){
    var obj=jQuery(this).find('.cols');
    var v = obj.length;
    var cw = (100/v);

    obj.css('width',cw+'%');
  });
});

это должно работать для любого количества таблиц..

Другие вопросы по тегам