2017-01-09 3 views
0

Я пытаюсь выяснить, могу ли я назвать весь столбец с тем же именем класса в таблице, без необходимости указывать каждую отдельную ячейку. Какие-либо предложения? Использую ли я html, css или javascript? Называется ли каждая ячейка единственным способом сделать это?Именование всего столбца с тем же именем класса

Извините, если я отправляю это в том районе, я новичок в этом сайте, и до сих пор пытаюсь понять это

+0

Вы можете использовать JS для него, вопрос, оставшийся (для меня), почему вам нужно это сделать? - если для этого нужно применять только специальные стили, вы можете использовать ответ @ epascarello (не нужно изменять html) - если это по другой причине, могут быть и другие опции – ochi

+0

Это именно то, что «colgroup» был построен для адресации - если это действительно просто проблема стиля. [colgroup link] (http://www.w3schools.com/TagS/tag_colgroup.asp) – allnodcoms

+0

Я создаю календарь, который я хочу, чтобы моя команда могла обновлять по мере необходимости. У меня возникли проблемы с правильной установкой правильных цифр. Я уверен, что есть более простой способ, чем то, что я пытаюсь, любые советы приветствуются ... особенно если есть лучший способ сделать это, чем то, что я пытаюсь сделать – Mike

ответ

0

Вы можете использовать nth-child псевдо селектор класса

table tr td:nth-child(2) { 
 
    background: #CCCCCC; 
 
} 
 
table tr td:nth-child(4) { 
 
    background: #00FFEE; 
 
}
<table> 
 
    <tbody> 
 
    <tr> 
 
     <td>1-1</td> 
 
     <td>1-2</td> 
 
     <td>1-3</td> 
 
     <td>1-4</td> 
 
    </tr> 
 
    <tr> 
 
     <td>2-1</td> 
 
     <td>2-2</td> 
 
     <td>2-3</td> 
 
     <td>2-4</td> 
 
    </tr> 
 
    <tr> 
 
     <td>3-1</td> 
 
     <td>3-2</td> 
 
     <td>3-3</td> 
 
     <td>3-4</td> 
 
    </tr> 
 
    <tr> 
 
     <td>4-1</td> 
 
     <td>4-2</td> 
 
     <td>4-3</td> 
 
     <td>4-4</td> 
 
    </tr> 
 
    </tbody> 
 
</table>

+0

, в то время как это применимо к второму и 4-го столбца, это не дает ему имя класса, поскольку OP задает – ochi

+0

@ochi. Я предполагаю, что OP не нуждается в имени класса и не понимает, что у них есть возможность выбирать элементы по индексу для применения стилей. С широким вопросом трудно сказать, какая цель OP. Поэтому я пошел со своей кишкой. – epascarello

+0

справедливо, однако это не объясняется в вашем ответе;) - представьте, что кто-то подходит к вопросу (день/неделя/месяц позже), нахожу ваш ответ и думая, что он добавляет имя класса в столбец (когда он не " t) - это очень запутанно для новичка. Возможно, если вы добавите объяснение в ответ, это позволит OP узнать, что делает ваш код и как он помогает ей? – ochi

0

Если вы хотите добавить класс ко всем элементам внутри таблицы (в этом случае элементы td), вы можете сделать это с помощью jQuery.

$('td').addClass('my-class');
.my-class{ 
 
color: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tbody> 
 
    <tr> 
 
     <td>1-1</td> 
 
     <td>1-2</td> 
 
     <td>1-3</td> 
 
     <td>1-4</td> 
 
    </tr> 
 
    <tr> 
 
     <td>2-1</td> 
 
     <td>2-2</td> 
 
     <td>2-3</td> 
 
     <td>2-4</td> 
 
    </tr> 
 
    <tr> 
 
     <td>3-1</td> 
 
     <td>3-2</td> 
 
     <td>3-3</td> 
 
     <td>3-4</td> 
 
    </tr> 
 
    <tr> 
 
     <td>4-1</td> 
 
     <td>4-2</td> 
 
     <td>4-3</td> 
 
     <td>4-4</td> 
 
    </tr> 
 
    </tbody> 
 
</table>

В примере выше вы в основном говорить JQuery целевой все td элементов и добавить класс к каждому из них. Однако это применит класс для ВСЕХ элементов td в вашей DOM. Если вы хотите применить класс только к элементам конкретной таблицы, вы можете сделать это с:

$('.parent-class').find('td').addClass('your-class'); 

и вы можете добавить родительский-класс в <tbody> элемент table. Таким образом, вы соедините все элементы, которые соответствуют.

+1

спасибо @epascarello за стол. Надеюсь, ты не против, я использовал его. –

Смежные вопросы