Nie mogę ustawić wiersza tabeli jako linku do czegoś. Mogę używać tylko css i html. Próbowałem różnych rzeczy, od div in row do czegoś innego, ale nadal nie mogę tego zrobić.
html
css
hyperlink
html-table
Max Frai
źródło
źródło
Zrobiłem sobie niestandardową funkcję jquery:
HTML
jQuery
Dla mnie łatwe i idealne. Mam nadzieję, że to ci pomoże.
(Wiem, że OP chce tylko CSS i HTML, ale rozważ jQuery)
Edytować
Uzgodniono z Mattem Kantorem przy użyciu atr. Danych. Edytowana odpowiedź powyżej
źródło
data-href
lub somesuch.<table class='tr_link' >
i nadaj ją.tr_link{cursor:pointer}
w css dla najlepszego wykorzystania.tr[data-href] { cursor: pointer }
do swoich arkuszy stylówJeśli korzystasz z przeglądarki, która to obsługuje, możesz użyć CSS do przekształcenia
<a>
w wiersz tabeli:Oczywiście nie możesz umieszczać elementów blokowych wewnątrz
<a>
. Nie możesz też łączyć tego ze zwykłym<table>
źródło
Jeśli trzeba użyć tabeli, można umieścić link do każdej komórki tabeli:
I spraw, by linki wypełniły całe komórki:
Jeśli możesz użyć
<div>
s zamiast tabeli, twój HTML może być dużo prostszy i nie dostaniesz "luk" w linkach między komórkami tabeli:Oto CSS, który pasuje do
<div>
metody:źródło
Zwykłym sposobem jest przypisanie części JavaScript do
onClick
atrybutuTR
elementu.Jeśli nie możesz użyć JavaScript, musisz użyć sztuczki:
Dodaj to samo łącze do każdego
TD
z tego samego wiersza (łącze musi być najbardziej zewnętrznym elementem komórki).Zamień linki w elementy blokowe:
a { display: block; width: 100%; height: 100%; }
Ta ostatnia zmusi link do wypełnienia całej komórki, więc kliknięcie w dowolnym miejscu wywoła łącze.
źródło
Nie możesz opakować
<td>
elementu<a>
tagiem, ale możesz osiągnąć podobną funkcjonalność, używająconclick
zdarzenia do wywołania funkcji. Tutaj znajduje się przykład , coś takiego jak ta funkcja:I dodaj to do swojego stołu w ten sposób:
źródło
Odpowiedź od sirwilliam pasuje do mnie najlepiej. Poprawiłem Javascript z obsługą skrótu Ctrl + LeftClick (otwiera stronę w nowej karcie). Wydarzenie
ctrlKey
jest używane przez komputery PC i komputerymetaKey
Mac.Javascript
Przykład
http://jsfiddle.net/vlastislavnovak/oaqo2kgs/
źródło
Wiem, że odpowiedź na to pytanie jest już dostępna, ale nadal nie podoba mi się żadne rozwiązanie na tej stronie. Dla osób używających JQuery stworzyłem ostateczne rozwiązanie, które umożliwia nadanie wierszowi tabeli prawie takiego samego zachowania jak
<a>
tag.To jest moje rozwiązanie:
jQuery Możesz dodać to na przykład do standardowego dołączonego pliku javascript
HTML Teraz możesz użyć tego na dowolnym
<tr>
elemencie wewnątrz twojego HTMLźródło
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; } });
Kiedy chcę zasymulować
<tr>
link z linkiem, ale przestrzegając standardów HTML, robię to.HTML:
CSS:
W ten sposób, gdy ktoś porusza się myszką na TR, cały wiersz (i ten link) otrzymuje styl po najechaniu i nie widzi, że istnieje wiele linków.
Nadzieja może komuś pomóc.
Fiddle TUTAJ
źródło
Dzięki temu nie musisz duplikować łącza w tr - po prostu wyłóż je z pierwszego a.
źródło
Może coś w tym stylu? Chociaż używa JS, ale to jedyny sposób, aby wiersz (tr) był klikalny.
Chyba że masz pojedynczą komórkę ze znacznikiem kotwicy, który wypełnia całą komórkę.
A potem i tak nie powinieneś używać stołu.
źródło
Po przeczytaniu tego wątku i kilku innych wpadłem na następujące rozwiązanie w javascript:
Aby użyć go umieścić href w tr / td / th że chcesz być klikalne jak:
<tr href="http://stackoverflow.com">
. I upewnij się, że powyższy skrypt jest wykonywany po utworzeniu elementu tr (przez jego umieszczenie lub użycie programów obsługi zdarzeń).Wadą jest to, że nie całkowicie sprawi, że TR będą zachowywać się jak linki, jak w przypadku elementów DIV zEdycja: sprawiłem, że nawigacja po klawiaturze działała, ustawiając onkeydown, role i tabIndex, możesz usunąć tę część, jeśli potrzebna jest tylko mysz. Nie pokażą jednak adresu URL na pasku stanu po najechaniu kursorem.display: table;
, i nie będą wybierane za pomocą klawiatury ani nie będą miały tekstu statusu.Możesz określić konkretny styl dla linków TR za pomocą selektora CSS „tr [href]”.
źródło
Mam inny sposób. Zwłaszcza jeśli musisz publikować dane za pomocą jQuery
Ustaw zmienną ustawia zmienne w SESJACH, które strona, którą zamierzasz czytać, może na nich działać.
Bardzo chciałbym mieć możliwość wysyłania postów bezpośrednio do lokalizacji okna, ale nie sądzę, że jest to możliwe.
źródło
Dzięki za to. Możesz zmienić ikonę najechania, przypisując klasę CSS do wiersza, na przykład:
a CSS wygląda następująco:
źródło
Czy możesz dodać tag A do wiersza?
Czy o to pytasz?
źródło