Я не могу установить свою строку таблицы как ссылку на что-то. Могу использовать только css и html. Я пробовал разные вещи от div in row к чему-то другому, но все еще не могу заставить его работать.
html
css
hyperlink
html-table
Макс Фрай
источник
источник
Я сделал себе кастомную функцию jquery:
HTML
jQuery
Легко и идеально подходит для меня. Надеюсь, это вам поможет.
(Я знаю, что OP хочет только CSS и HTML, но рассмотрите jQuery)
редактировать
Согласовано с Мэттом Кантором с использованием атрибута данных. Отредактированный ответ выше
источник
data-href
или что-то подобное.<table class='tr_link' >
и передать его.tr_link{cursor:pointer}
в CSS для наилучшего использования.tr[data-href] { cursor: pointer }
в свои таблицы стилейЕсли вы используете браузер, который его поддерживает, вы можете использовать CSS для преобразования
<a>
в строку таблицы:Конечно, вы ограничены тем, чтобы не помещать блочные элементы внутри
<a>
. Вы также не можете смешивать это с обычным<table>
источник
Если вам нужно использовать таблицу, вы можете поместить ссылку в каждую ячейку таблицы:
И сделать так, чтобы ссылки заполняли целые ячейки:
Если вы можете использовать
<div>
s вместо таблицы, ваш HTML может быть намного проще, и вы не получите «пробелов» в ссылках между ячейками таблицы:Вот CSS, который входит в этот
<div>
метод:источник
Обычный способ - присвоить некоторый JavaScript
onClick
атрибутуTR
элемента.Если вы не можете использовать JavaScript, вы должны использовать трюк:
Добавьте одну и ту же ссылку в каждую
TD
строку (ссылка должна быть самым внешним элементом в ячейке).Превратите ссылки в элементы блока:
a { display: block; width: 100%; height: 100%; }
Последний заставит ссылку заполнить всю ячейку, поэтому щелчок в любом месте вызовет ссылку.
источник
Вы не можете обернуть
<td>
элемент<a>
тегом, но вы можете выполнить аналогичную функцию, используяonclick
событие для вызова функции. Пример можно найти здесь , что-то вроде этой функции:И добавьте его в свою таблицу так:
источник
Ответ сэрвильям подходит мне лучше всего. Я улучшил Javascript, добавив поддержку горячих клавиш Ctrl + LeftClick (открывает страницу в новой вкладке). Событие
ctrlKey
используется ПК,metaKey
Mac.Javascript
пример
http://jsfiddle.net/vlastislavnovak/oaqo2kgs/
источник
Я знаю, что на этот вопрос уже дан ответ, но мне все еще не нравится какое-либо решение на этой странице. Для людей, использующих JQuery, я сделал окончательное решение, которое позволяет придать строке таблицы почти такое же поведение, как и
<a>
тегу.Это мое решение:
jQuery Вы можете добавить это, например, в стандартный включенный файл javascript
HTML Теперь вы можете использовать это для любого
<tr>
элемента внутри вашего HTML.источник
document.querySelector('tr[url]').addEventListener("mousedown", function(e){ var click = e.which; var url = this.getAttribute("url"); if(url){ if(click == 1){ window.location.href = url; } else if(click == 2){ window.open(url, '_blank'); window.focus(); } return true; } });
Когда я хочу смоделировать
<tr>
ссылку, но соблюдая стандарты html, я делаю это.HTML:
CSS:
Таким образом, когда кто-то перемещает указатель мыши по TR, вся строка (и эти ссылки) получает стиль наведения, и он не может видеть, что есть несколько ссылок.
Надежда может кому-то помочь.
Скрипка ЗДЕСЬ
источник
Это избавляет вас от необходимости дублировать ссылку в tr - просто выловите ее из первого a.
источник
Возможно, что-то в этом роде? Хотя он использует JS, но это единственный способ сделать строку (tr) кликабельной.
Если у вас нет одной ячейки с тегом привязки, заполняющим всю ячейку.
Кроме того, вам все равно не следует использовать стол.
источник
Прочитав эту и некоторые другие ветки, я пришел к следующему решению на javascript:
Для того, чтобы использовать его положить HREF в тр / тд / ой , что вы хотите быть интерактивными , как:
<tr href="http://stackoverflow.com">
. И убедитесь, что приведенный выше сценарий выполняется после создания элемента tr (путем его размещения или использования обработчиков событий).Обратной стороной является то, что TR полностью не будет вести себя как ссылки, как с div сИзменить: я сделал работу с клавиатурой, установив onkeydown, role и tabIndex, вы можете удалить эту часть, если нужна только мышь. Однако они не будут отображать URL-адрес в строке состояния при наведении курсора.display: table;
, и они не будут выбираться с клавиатуры или иметь текст состояния.Вы можете стилизовать TR ссылки с помощью селектора CSS "tr [href]".
источник
У меня есть другой способ. Особенно, если вам нужно публиковать данные с помощью jQuery
Set variable устанавливает переменные в SESSIONS, которые страница, на которую вы собираетесь, может читать и действовать.
Мне бы очень хотелось, чтобы публикация была прямо у окна, но я не думаю, что это возможно.
источник
Спасибо за это. Вы можете изменить значок при наведении курсора, присвоив строке класс CSS, например:
и CSS выглядит так:
источник
Можете ли вы добавить к строке тег A?
Вы об этом спрашиваете?
источник