HTML - строка таблицы как ссылка

Разве что-то вроде этого не работало бы?

var list = new[]{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
var random = new Random();
list.Sort((a,b)=>random.Next(-1,1));
97
задан Brian Tompsett - 汤莱恩 11 January 2017 в 08:49
поделиться

7 ответов

Это можно сделать двумя способами:

Я выполнил вторую работу, используя:

table tr td a {
    display:block;
    height:100%;
    width:100%;
}

Чтобы избавиться от мертвого пространства между столбцами:

table tr td {
    padding-left: 0;
    padding-right: 0;
}

Вот простая демонстрация второго примера: DEMO

170
ответ дан 24 November 2019 в 05:20
поделиться

Можете ли вы добавить тег A в строку?

<tr><td>
<a href="./link.htm"></a>
</td></tr>

Это то, о чем вы спрашиваете?

-2
ответ дан 24 November 2019 в 05:20
поделиться
//Style
  .trlink {
    color:blue;
  }
  .trlink:hover {
    color:red;
  }

<tr class="trlink" onclick="function to navigate to a page goes here">
<td>linktext</td>
</tr>

Возможно, что-нибудь в этом роде? Хотя он и использует JS, но это единственный способ сделать строку (tr) доступной для кликов.

Если у вас нет одной ячейки с тегом привязки, который заполняет всю ячейку.

И тогда вы не должны использовать стол в любом случае.

0
ответ дан 24 November 2019 в 05:20
поделиться

Вы не можете заключить элемент в тег , но вы можете выполнить аналогичные функции, используя ] onclick для вызова функции. Пример можно найти здесь , что-то вроде этой функции:

<script type="text/javascript">
function DoNav(url)
{
   document.location.href = url;
}
</script>

И добавьте его в свою таблицу следующим образом:

<tr onclick="DoNav('http://stackoverflow.com/')"><td></td></tr>
7
ответ дан 24 November 2019 в 05:20
поделиться

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

<table>
  <tbody>
    <tr>
      <td><a href="person1.html">John Smith</a></td>
      <td><a href="person1.html">123 Fake St</a></td>
      <td><a href="person1.html">90210</a></td>
    </tr>
    <tr>
      <td><a href="person2.html">Peter Nguyen</a></td>
      <td><a href="person2.html">456 Elm Ave</a></td>
      <td><a href="person2.html">90210</a></td>
    </tr>
  </tbody>
</table>

И сделать так, чтобы ссылки заполняли все ячейки:

table tbody tr td a {
  display: block;
  width: 100%;
  height: 100%;
}

Если вы можете использовать

вместо таблицы, ваш HTML может быть намного проще, и вы не получите «пробелов» в ссылках между ячейками таблицы:

<div class="myTable">
  <a href="person1.html">
    <span>John Smith</span>
    <span>123 Fake St</span>
    <span>90210</span>
  </a>
  <a href="person2.html">
    <span>Peter Nguyen</span>
    <span>456 Elm Ave</span>
    <span>90210</span>
  </a>
</div>

Вот CSS, который используется с методом

:

.myTable {
  display: table;
}
.myTable a {
  display: table-row;
}
.myTable a span {
  display: table-cell;
  padding: 2px; /* this line not really needed */
}
13
ответ дан 24 November 2019 в 05:20
поделиться

Обычный способ - присвоить некоторый JavaScript атрибуту onClick элемента TR .

Если вы не можете использовать JavaScript, тогда вы должны использовать уловку:

  1. Добавьте одну и ту же ссылку к каждому TD той же строки (ссылка должна быть самым внешним элементом в ячейке).

  2. Превратите ссылки в элементы блока: a {display: block; ширина: 100%; высота: 100%; }

Последний заставит ссылку заполнить всю ячейку, поэтому щелчок в любом месте вызовет ссылку.

12
ответ дан 24 November 2019 в 05:20
поделиться

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

.table-row { display: table-row; }
.table-cell { display: table-cell; }

<div style="display: table;">
    <a href="..." class="table-row">
        <span class="table-cell">This is a TD... ish...</span>
    </a>
</div>

Конечно, вы можете не помещать блочные элементы внутри . Вы также не можете смешивать это с обычным

поделиться