Как задать border у определенной колонки таблицы и убрать ее по нажатию кнопки?

202
30 августа 2018, 15:10

Как можно задать стили и onClick, чтобы при выборе соответствующего переключателя radio вокруг 2-й (4-й) колонки появлялась рамка:

function Select(that) {}
<table> 
  <colgroup></colgroup> 
  <colgroup id="id1"></colgroup> 
 
  <colgroup></colgroup> 
  <colgroup id="id2"></colgroup> 
 
  <tr> 
    <td> <input type=radio name=r onClick="Select(this);"> </td> 
    <td><label>Блок1</label></td> 
    <td> <input type=radio name=r onClick="Select(this);"> </td> 
    <td><label>Блок2</label></td> 
  </tr> 
 
  <tr> 
    <td> </td> 
    <td>текст1</td> 
    <td> </td> 
    <td>текст2</td> 
    <td> </td> 
  </tr> 
  <tr> 
    <td> </td> 
    <td>текст4</td> 
    <td> </td> 
    <td>текст5</td> 
    <td> </td> 
  </tr> 
 
</table>

Answer 1

function Select(that) { 
  tdEach = document.getElementsByTagName("td"); 
 
  for (var i = 0; i < tdEach.length; i++) { 
    tdEach[i].style.borderColor = "transparent"; 
  } 
 
  cellNum = that.parentElement.cellIndex; 
 
  trEach = document.getElementsByTagName("tr"); 
 
  for (var i = 0; i < trEach.length; i++) { 
    trChoosen = trEach[i].children[cellNum]; 
    trChoosen.style.borderLeft = "1px solid"; 
    trChoosen.style.borderRight = "1px solid"; 
 
  }; 
}
table { 
  border-collapse: collapse; 
} 
 
td { 
  border: 1px solid transparent; 
} 
 
td:nth-child(2n) { 
  border-right: none; 
}
<table> 
  <colgroup></colgroup> 
  <colgroup id="id1"></colgroup> 
 
  <colgroup></colgroup> 
  <colgroup id="id2"></colgroup> 
 
  <tr> 
    <td> <input type=radio name=r onClick="Select(this);"> </td> 
    <td><label>Блок1</label></td> 
    <td> <input type=radio name=r onClick="Select(this);"> </td> 
    <td><label>Блок2</label></td> 
    <td></td> 
  </tr> 
 
  <tr> 
    <td> </td> 
    <td>текст1</td> 
    <td> </td> 
    <td>текст2</td> 
    <td> </td> 
  </tr> 
  <tr> 
    <td> </td> 
    <td>текст4</td> 
    <td> </td> 
    <td>текст5</td> 
    <td> </td> 
  </tr> 
</table>

READ ALSO
Изъять id,динамически созданного инпута

Изъять id,динамически созданного инпута

Создаю input элементы динамически, а далее нужно вытянуть из них данныеКак быть, если создано сразу два или более input'ов? Мне нужно самому указывать...

180
Аналоги babel для разбора JSX в браузере

Аналоги babel для разбора JSX в браузере

Нашел в интернете неплохой набор компонентов для ReactМанипулируя ими можно многократно ускорить процесс разработки веб-сайта, относительно...

156
Перебор 10+ массивов JS HTML

Перебор 10+ массивов JS HTML

Задача написать HTML и залить на сотовый для поездки в Крым, пока, по приезду нет интернетаНакидал 40 маршрутов с достопримечательностями как...

289
TinyMCE - Не видно поле, проблемы со стилизацией

TinyMCE - Не видно поле, проблемы со стилизацией

Стилизация TinyMCE страдает, не видно текстового поля, с чем может быть связана проблема?

140