Ich kann meine Tabellenzeile nicht als Link zu etwas festlegen. Ich kann nur CSS und HTML verwenden. Ich habe verschiedene Dinge ausprobiert, von Div in Reihe bis zu etwas anderem, aber ich kann es immer noch nicht zum Laufen bringen.
html
css
hyperlink
html-table
Max Frai
quelle
quelle
Ich habe mir eine benutzerdefinierte Abfragefunktion gemacht:
Html
jQuery
Einfach und perfekt für mich. Hoffentlich hilft es dir.
(Ich weiß, dass OP nur CSS und HTML möchte, aber jQuery in Betracht ziehen)
Bearbeiten
Einverstanden mit Matt Kantor unter Verwendung von Daten attr. Antwort oben bearbeitet
quelle
data-href
oder so.<table class='tr_link' >
und.tr_link{cursor:pointer}
in CSS für die beste Verwendung geben.tr[data-href] { cursor: pointer }
Wenn Sie einen Browser verwenden, der dies unterstützt, können Sie CSS verwenden, um das
<a>
in eine Tabellenzeile umzuwandeln :Natürlich dürfen Sie keine Blockelemente in das Feld einfügen
<a>
. Sie können dies auch nicht mit einem normalen mischen<table>
quelle
Wenn Sie haben eine Tabelle verwenden, können Sie einen Link in jeder Tabellenzelle setzen:
Und lassen Sie die Links die gesamten Zellen ausfüllen:
Wenn Sie
<div>
s anstelle einer Tabelle verwenden können, kann Ihr HTML-Code viel einfacher sein und Sie erhalten keine "Lücken" in den Links zwischen den Tabellenzellen:Hier ist das CSS, das zur
<div>
Methode gehört:quelle
Die übliche Methode besteht darin, dem
onClick
Attribut desTR
Elements JavaScript zuzuweisen .Wenn Sie kein JavaScript verwenden können, müssen Sie einen Trick verwenden:
Fügen Sie jeder
TD
Zeile derselben Zeile denselben Link hinzu (der Link muss das äußerste Element in der Zelle sein).Verwandeln Sie Links in Blockelemente:
a { display: block; width: 100%; height: 100%; }
Letzteres zwingt den Link, die gesamte Zelle zu füllen, sodass durch Klicken auf eine beliebige Stelle der Link aufgerufen wird.
quelle
Sie können ein
<td>
Element nicht mit einem<a>
Tag umschließen, aber Sie können ähnliche Funktionen ausführen, indem Sie dasonclick
Ereignis zum Aufrufen einer Funktion verwenden. Ein Beispiel finden Sie hier , so etwas wie diese Funktion:Und fügen Sie es wie folgt zu Ihrem Tisch hinzu:
quelle
Die Antwort von Sirwilliam passt am besten zu mir. Ich habe das Javascript mit Unterstützung für die Tastenkombination Strg + Linksklick verbessert (Seite in neuem Tab öffnen). Das Ereignis
ctrlKey
wird von PCs undmetaKey
Macs verwendet.Javascript
Beispiel
http://jsfiddle.net/vlastislavnovak/oaqo2kgs/
quelle
Ich weiß, dass diese Frage bereits beantwortet wurde, aber ich mag immer noch keine Lösung auf dieser Seite. Für die Benutzer von JQuery habe ich eine endgültige Lösung erstellt, mit der Sie der Tabellenzeile fast das gleiche Verhalten wie dem
<a>
Tag geben können.Das ist meine Lösung:
jQuery Sie können dies beispielsweise zu einer standardmäßigen enthaltenen Javascript-Datei hinzufügen
HTML Jetzt können Sie dies für jedes
<tr>
Element in Ihrem HTML verwendenquelle
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; } });
Wenn ich ein
<tr>
mit einem Link simulieren möchte, aber die HTML-Standards respektiere, mache ich das.HTML:
CSS:
Auf diese Weise erhält die gesamte Zeile (und diese Links) den Schwebestil, wenn jemand mit der Maus auf eine TR fährt, und er kann nicht erkennen, dass mehrere Links vorhanden sind.
Hoffnung kann jemandem helfen.
Geige HIER
quelle
Dies erspart Ihnen das Duplizieren des Links im tr - fischen Sie ihn einfach aus dem ersten a heraus.
quelle
Etwas in diese Richtung vielleicht? Es wird zwar JS verwendet, aber nur so kann eine Zeile (tr) angeklickt werden.
Es sei denn, Sie haben eine einzelne Zelle mit einem Ankertag, der die gesamte Zelle ausfüllt.
Und dann sollten Sie sowieso keinen Tisch benutzen.
quelle
Nachdem ich diesen und einige andere Themen gelesen hatte, fand ich die folgende Lösung in Javascript:
Um es zu verwenden, setzen Sie die href in tr / td / th, die Sie anklicken möchten, wie :
<tr href="http://stackoverflow.com">
. Stellen Sie außerdem sicher, dass das obige Skript ausgeführt wird, nachdem das tr-Element erstellt wurde (durch Platzierung oder Verwendung von Ereignishandlern).Der Nachteil ist, dass sich die TRs nicht vollständig wie Links mit divs verhaltenBearbeiten: Ich habe die Tastaturnavigation durch Festlegen von onkeydown, role und tabIndex zum Laufen gebracht. Sie können diesen Teil entfernen, wenn nur die Maus benötigt wird. Beim Schweben wird die URL jedoch nicht in der Statusleiste angezeigt.display: table;
, und dass sie nicht über die Tastatur ausgewählt werden können oder keinen Statustext haben.Sie können die Link-TRs speziell mit dem CSS-Selektor "tr [href]" formatieren.
quelle
Ich habe einen anderen Weg. Insbesondere, wenn Sie Daten mit jQuery veröffentlichen müssen
Variable festlegen richtet in SESSIONS Variablen ein, die auf der Seite, die Sie lesen möchten, gelesen und bearbeitet werden können.
Ich hätte wirklich gerne eine Möglichkeit, direkt an einem Fenster zu posten, aber ich denke nicht, dass dies möglich ist.
quelle
Danke dafür. Sie können das Hover-Symbol ändern, indem Sie der Zeile eine CSS-Klasse zuweisen:
und das CSS sieht aus wie:
quelle
Können Sie der Zeile ein A-Tag hinzufügen?
Fragen Sie das?
quelle