J'ai une bootstrap comme celle-ci dans la page principale.html:
<table class="table table-striped"> <thead> <tr> <th scope="col">#</th> <th scope="col">First</th> <th scope="col">Last</th> <th scope="col">Handle</th> </tr> </thead> <tbody> <tr> <th scope="row">1</th> <td>Mark</td> <td>Otto</td> <td>@mdo</td> </tr> <tr> <th scope="row">2</th> <td>Jacob</td> <td>Thornton</td> <td>@fat</td> </tr> <tr> <th scope="row">3</th> <td>Larry</td> <td>the Bird</td> <td>@twitter</td> </tr> </tbody> </table>
Comment puis-je faire cela? P> p>
5 Réponses :
Cela peut être fait en utilisant jQuery. Lier un auditeur d'événement en cliquant sur Click of Tr, puis rediriger l'utilisateur si nécessaire.
Votre HTML P>
var table = document.getElementById('js-table'); for(var i = 0; i < table.rows.length; i++) { table.rows[i].addEventListener('click', function() { document.location.href = "https://google.com" }); }
Pouvons-nous le faire avec JavaScript
Bien sur. J'ai édité la réponse et j'ai ajouté du code pour cela.
Vous devrez ajouter un ID à votre table.
Essayez ce code
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <table class="table table-striped" id="tableId"> <thead> <tr> <th scope="col">#</th> <th scope="col">First</th> <th scope="col">Last</th> <th scope="col">Handle</th> </tr> </thead> <tbody> <tr> <th scope="row">1</th> <td>Mark</td> <td>Otto</td> <td>@mdo</td> </tr> <tr> <th scope="row">2</th> <td>Jacob</td> <td>Thornton</td> <td>@fat</td> </tr> <tr> <th scope="row">3</th> <td>Larry</td> <td>the Bird</td> <td>@twitter</td> </tr> </tbody> </table> <script> function addRowHandlers() { var table = document.getElementById("tableId"); var rows = table.getElementsByTagName("tr"); for (i = 0; i < rows.length; i++) { var currentRow = table.rows[i]; var createClickHandler = function(row) { return function() { var cell = row.getElementsByTagName("td")[0]; var id = cell.innerHTML; alert("id:" + id); window.location.href = "http://www.w3schools.com"; }; }; currentRow.onclick = createClickHandler(currentRow); } } window.onload = addRowHandlers(); </script> </body> </html>
Vous pouvez également y parvenir à JavaScript sur JavaScript sur TR (Inline): de cette manière, vous pouvez définir différents liens pour différentes lignes. Veuillez vérifier ci-dessous l'extrait de HTML mis à jour: P> <table class="table table-striped">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr onclick="document.location = 'http://www.google.com';">
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr onclick="document.location = 'http://www.himanshu.com';">
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr onclick="document.location = '/links.html';">
<th scope="row">3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
Veuillez trouver ci-dessous le code qui vous redirigera vers un autre lien en cliquant sur des lignes (sauf la ligne d'en-tête)
Ajouter un événement sur toutes les lignes de la table et exécutez votre tâche. P>
p>
$(function() { $('tbody tr').click(function() { window.location.href = 'https://www.google.com'; }) })
Premièrement, je suggère d'ajouter la classe à alors, je suppose que votre utilisation de jQuery et vous avez des lignes de table dynamiques. p>
code> (donc si vous envisagez d'avoir plusieurs tables dans la page, cela n'affecte pas l'autre table)