Добавление переменной в подсказку 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+'%');
});
});
это должно работать для любого количества таблиц..