No puedo establecer la fila de mi tabla como enlace a algo. Solo puedo usar css y html. Intenté cosas diferentes, desde div en fila hasta algo diferente, pero todavía no puedo hacer que funcione.
html
css
hyperlink
html-table
Max Frai
fuente
fuente
Me hice una función de jquery personalizada:
HTML
jQuery
Fácil y perfecto para mí. Ojalá te ayude.
(Sé que OP solo quiere CSS y HTML, pero considere jQuery)
Editar
De acuerdo con Matt Kantor usando data attr. Respuesta editada arriba
fuente
data-href
o algo así.<table class='tr_link' >
entréguela.tr_link{cursor:pointer}
en css para un mejor uso.tr[data-href] { cursor: pointer }
a sus hojas de estiloSi está en un navegador que lo admite, puede usar CSS para transformar el
<a>
en una fila de tabla:Por supuesto, está limitado a no colocar elementos de bloque dentro del
<a>
. Tampoco puedes mezclar esto con un<table>
fuente
Si tiene que usar una tabla, puede poner un enlace en cada celda de la tabla:
Y haz que los enlaces llenen todas las celdas:
Si puede usar
<div>
s en lugar de una tabla, su HTML puede ser mucho más simple y no obtendrá "espacios" en los enlaces entre las celdas de la tabla:Aquí está el CSS que acompaña al
<div>
método:fuente
La forma habitual es asignar algo de JavaScript al
onClick
atributo delTR
elemento.Si no puede usar JavaScript, entonces debe usar un truco:
Agregue el mismo enlace a cada una
TD
de las mismas filas (el enlace debe ser el elemento más externo de la celda).Convierta los enlaces en elementos de bloque:
a { display: block; width: 100%; height: 100%; }
Esto último obligará al enlace a llenar toda la celda, por lo que al hacer clic en cualquier lugar se invocará el enlace.
fuente
No puede envolver un
<td>
elemento con una<a>
etiqueta, pero puede lograr una funcionalidad similar usando elonclick
evento para llamar a una función. Aquí se encuentra un ejemplo , algo como esta función:Y agréguelo a su mesa así:
fuente
La respuesta de sirwilliam me queda mejor. Mejoré el Javascript con soporte para la tecla de acceso rápido Ctrl + LeftClick (abre la página en una nueva pestaña). Event
ctrlKey
es utilizado por PC,metaKey
por Mac.Javascript
Ejemplo
http://jsfiddle.net/vlastislavnovak/oaqo2kgs/
fuente
Sé que esta pregunta ya está respondida, pero todavía no me gusta ninguna solución en esta página. Para las personas que usan JQuery, hice una solución final que le permite darle a la fila de la tabla casi el mismo comportamiento que la
<a>
etiqueta.Esta es mi solucion:
jQuery Puede agregar esto, por ejemplo, a un archivo javascript estándar incluido
HTML Ahora puede usar esto en cualquier
<tr>
elemento dentro de su HTMLfuente
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; } });
Cuando quiero simular un
<tr>
con un enlace pero respetando los estándares html, hago esto.HTML:
CSS:
De esta manera, cuando alguien coloca el mouse en un TR, toda la fila (y estos enlaces) obtiene el estilo de desplazamiento y no puede ver que hay varios enlaces.
La esperanza puede ayudar a alguien.
Violín AQUÍ
fuente
Esto le ahorra tener que duplicar el enlace en el tr - simplemente pescarlo desde la primera a.
fuente
¿Quizás algo en este sentido? Aunque usa JS, es la única forma de hacer clic en una fila (tr).
A menos que tenga una sola celda con una etiqueta de anclaje que llene toda la celda.
Y luego, no deberías usar una mesa de todos modos.
fuente
Después de leer este hilo y algunos otros, se me ocurrió la siguiente solución en javascript:
Para usarlo, coloque el href en tr / td / th en el que desea que se pueda hacer clic como:
<tr href="http://stackoverflow.com">
. Y asegúrese de que el script anterior se ejecute después de que se cree el elemento tr (por su ubicación o usando controladores de eventos).La desventaja es que no hará que los TR se comporten como enlaces como los divs conEditar: Hice que la navegación del teclado funcionara configurando onkeydown, role y tabIndex, podría eliminar esa parte si solo se necesita el mouse. Sin embargo, no mostrarán la URL en la barra de estado al pasar el mouse.display: table;
, y no se podrán seleccionar con el teclado ni tendrán texto de estado.Puede diseñar específicamente los TR de enlace con el selector CSS "tr [href]".
fuente
Tengo otra forma. Especialmente si necesita publicar datos usando jQuery
Establecer variable configura variables en SESIONES que la página a la que va a acceder puede leer y actuar.
Realmente me gustaría una forma de publicar directamente en la ubicación de una ventana, pero no creo que sea posible.
fuente
Gracias por esto. Puede cambiar el icono de desplazamiento asignando una clase CSS a la fila como:
y el CSS se ve así:
fuente
¿Puedes agregar una etiqueta A a la fila?
¿Es esto lo que estás preguntando?
fuente