Я хочу настроить таргетинг на определенные столбцы и изменить стиль.
У меня есть таблица с иконками в первом и последних двух столбцах.Тогда у меня есть переменное количество столбцов данных в середине.В зависимости от ширины таблицы я хочу показать первые 5 или 10 столбцов данных и скрыть остальные.Но мне нужно, чтобы значки отображались постоянно.
<tr>
<td><a href="#" class="icon-magnifyingGlass">View</a></td>
<td class="dataCol">Seq</td>
<td class="dataCol">Code</td>
<td class="dataCol">Date</td>
<td class="dataCol">Comment</td>
<td class="dataCol">Int</td>
<td class="dataCol">Date</td>
<td class="dataCol">User</td>
<td class="dataCol">Seq</td>
<td class="dataCol">Code</td>
<td class="dataCol">Date</td>
<td class="dataCol">Comment</td>
<td class="dataCol">Int</td>
<td class="dataCol">Date</td>
<td class="dataCol">User</td>
<td><a href="#" class="icon-pencil">Edit</a></td>
<td><a href="#" class="icon-x">Delete</a></td>
</tr>
Я пытался использовать селектор nth-child () для нацеливания на конкретные столбцы 1, 2-6, рядом с последним столбцом nth-child (-n-2) и последний столбец (last-child).Однако старые браузеры, такие как IE6, IE7 и IE8, не поддерживают nth-child ().Хотя я использую jquery и moderinzer для поддержки CSS3, у меня это не сработало.
Моя работа заключалась в том, чтобы вручную ставить классы в определенные столбцы, на которые я нацеливался, например class = "dataCol".Затем я смог использовать селектор gt (), чтобы показать первые пять столбцов данных и скрыть остальные, при этом оставив видимыми первые и последние два столбца значков.
$("#example tr").each(function(){
$(this).find(".dataCol:gt(4)").css("display","none");
});
В результате я получил 5 столбцов данных и три столбца значков, которые нужно показать, а остальные скрыты.
Спасибо за все сообщения, это было очень полезно.